2013-05-02 55 views
0

我有一個標有OrdersController的控制器,但是我有一個用於構成訂單的項目的附加表。沒有控制器的CakePHP查詢表

所以我的兩個表是

//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") 
)); 

我想看看所有的項目以特定的順序填充,那麼我可以將訂單表狀態標記爲正在填充。

回答

1

您需要的車型像你 order_item模式

class OrderItem extends AppModel { 
    public $belongsTo = array(
     'Order' => array(
      'className' => 'Order', 
      'foreignKey' => 'order_id' 
     ) 
    ); 
} 
+0

沒有OrderItemsController,我可以有一個order_item模型嗎? – user2268281 2013-05-02 03:26:12

+0

@ user2268281是的,當然你可以創建它 – 2013-05-02 03:27:00

0

你的模型層是完全獨立的控制器層的關聯。您可以爲您的控制器提供儘可能多或較少的型號,並且無論您的控制器或型號是什麼名稱(當然都遵守CakePHP's Naming Conventions)。默認情況下,如果您有PostsController並且未定義uses成員變量,CakePHP將嘗試加載Post模型。