如何在CakePHP 2中为3个连接的mysql表编写模型

时间:2018-03-07 09:10:03

标签: mysql cakephp cakephp-2.0 cakephp-2.3 cakephp-2.1

我有一个问题,理解我应该如何在CakePHP 2.x中编写我的模型用于此场景:

我有一个«订单»表,«产品»表中有许多产品。此产品表有一个«尺寸»表。

这个mysql查询显示了我想从模型中获取的内容。我知道如何为«orders»和«products»表做一个模型,但我不明白如何也包括«size»表。

SELECT 
orders.id, 
orders.name, 
products.id, 
products.name, 
sizes.id, 
sizes.name
FROM
orders 
INNER JOIN products ON orders.id = products.order_id
INNER JOIN sizes ON sizes.id = products.size_id

1 个答案:

答案 0 :(得分:0)

我在CakePHP - How do I join a table on a joined table?

中找不到解决方案

我确实喜欢这个:

 $options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));

 $this->request->data = $this->Order->find('first', $options);

 $options = array('conditions' => array('Product.order_id' => $id));

 $Products= $this->Order->Product->find('all', $options);

从那里我将获得该产品的大小:

[Size] => Array
    (
        [id] => 1
        [name] => 'BIG'
    )