Cakephp 数据库关联

Cakephp database associations

我在数据库中有 3 个 table: Cakephp 3.

Cars{id, type_id,....}
Types{id, name,....}
Images{id, type_name,image_url,....}

在模型车中,我想设置与图像的关系,实际上是模型关联。 我需要从图像中获取 image_url,其值 type_id 在 table 汽车和 table 图像中是相同的。这意味着我可以忘记 table 类型。 现在我正在从控制器获取带有连接查询的图像,但我想关联这些模型。

控制器中的查询如下所示:

$query->join(['table' = 'Images',
'alias' => 'i',
'conditions' => 'Cars.type_id = i.type_id'
]);

这是关系类型:1辆汽车可以有1张或多张图片,1张图片可以属于1辆或多辆汽车。意思是M:M。 它应该是关系 belongsToMany。 我尝试设置不同的 ralations 选项,从 hasMany 到 belongsToMany 它不起作用。 是否有可能这样做,或者可能不是因为一个 table 不包含另一个的主键,我被迫在控制器中使用连接查询?

谢谢你的建议。

在查询中添加了 "recursion" 包含:

$query->contain(['Cars','Types' => ['Images']]);

我得到了我需要的东西。 最好的问候