CAKEPHP条件

CAKEPHP条件,cakephp,cakephp-2.0,cakephp-2.5,Cakephp,Cakephp 2.0,Cakephp 2.5,一辆车会有颜色服务,也许会有轮胎服务 我正在使用这些表格:汽车、汽车服务、证书、颜色和轮胎 使用CAKEPHP条件,如何列出颜色服务的日期和(如果存在)轮胎服务的日期此行还将包含颜色服务证书的id。 我需要这个查询: `SELECT certificate.date, cs.date, csl.date, car.model, tires.brand, car.color FROM car INNER JOIN car_service cs

一辆车会有颜色服务,也许会有轮胎服务

我正在使用这些表格:汽车、汽车服务、证书、颜色和轮胎

使用CAKEPHP条件,如何列出颜色服务的日期和(如果存在)轮胎服务的日期此行还将包含颜色服务证书的id。

我需要这个查询:

`SELECT 
    certificate.date,
    cs.date,
    csl.date,
    car.model, 
    tires.brand, 
    car.color 
FROM car
INNER JOIN car_service cs ON cs.color_id = color.id
LEFT JOIN certificate cert ON cert.color_id = cs.color_id`
所以我以这样一张桌子结束:

`Service
-------
service_id| color_id | tires_id | date
111       | 123      |          | 2016-26-04 08:00:00
112       | 123      | 456      | 2016-27-04 09:00:00`
我需要获取服务111和服务112的证书日期

我试过了,但只带上轮胎服务的日期:

 $certified= $this->find('first', 
        Array('conditions' => Array('Car.plate' => $plate,
                              'CarService.color_id= color.id',
),
'type' => 'LEFT',
'contain' => Array(
    'Car', 
    'Color' => array('Certificate'),
    'Tires' => array('Certificate')
),
'order' => array('CarService.created DESC'),
'recursive' => -1
)
);

`

您正在使用
LEFT
,但实际上没有使用任何
连接

只添加
左侧
不会使您的查找-使用-加入。您需要实际向数组添加“连接”,类似于此示例:

'joins' => array(
    array(
        'table' => 'car_services',
        'alias' => 'CarService',
        'type' => 'INNER',
        'conditions' => array(
            'CarService.color_id = Color.id'
        )
    ),
    array( ... // put your left join here
),

您使用的是
LEFT
,但实际上没有使用任何
JOIN
s

只添加
左侧
不会使您的查找-使用-加入。您需要实际向数组添加“连接”,类似于此示例:

'joins' => array(
    array(
        'table' => 'car_services',
        'alias' => 'CarService',
        'type' => 'INNER',
        'conditions' => array(
            'CarService.color_id = Color.id'
        )
    ),
    array( ... // put your left join here
),

可能会尝试清理示例代码。它越容易阅读,你就越有可能得到你的答案。此外,请确保包括您正在使用的蛋糕版本。只需更新问题。但不包括我建议的更新:/我正在使用cake 2.5.6的
“type”=>“LEFT”
是做什么用的?您的示例没有显示任何连接。这也是可能的答案:“你需要加入”。但是我对这个问题理解得不够透彻,无法给出准确的答案。我可能会尝试清理一下您的示例代码。它越容易阅读,你就越有可能得到你的答案。此外,请确保包括您正在使用的蛋糕版本。只需更新问题。但不包括我建议的更新:/我正在使用cake 2.5.6的
“type”=>“LEFT”
是做什么用的?您的示例没有显示任何连接。这也是可能的答案:“你需要加入”。但我对这个问题理解得不够透彻,无法给出准确的答案。