我有一个标有OrdersController的控制器,但是我有一个额外的表来构成订单的项目。
所以我的两张桌子是
//orders
id | email | date | total | order_status
//order_items
id | product_num | quantity | total | item_status
在这种情况下,order_numbers.id是引用orders.id。
的外键当order_items不是控制器本身时,如何在cakephp中建立这个外键连接?
我尝试查询但是我收到错误并显示cakephp试图查询order.item_status(它没有尝试查询order_items表)
$order_status = $this->Order->find('all', array(
'conditions' => array('order_items.item_status' => "Not Filled")
));
我想查看特定订单中的所有商品是否已填写,以便我可以将订单表状态标记为已填写。
答案 0 :(得分:1)
您需要关联模型,例如您的模型 order_item模型
class OrderItem extends AppModel {
public $belongsTo = array(
'Order' => array(
'className' => 'Order',
'foreignKey' => 'order_id'
)
);
}
答案 1 :(得分:0)
您的模型图层完全独立于您的控制器图层。您可以为控制器设置尽可能多的模型,无论您的控制器或模型的名称是什么都无关紧要(当然遵守CakePHP's Naming Conventions)。默认情况下,如果您有PostsController
并且未定义uses
成员变量,CakePHP将尝试加载Post
模型。