我使用 CakePHP 2.2.2 我有 3 张桌子:餐厅、厨房和 kitchens_restaurants - 加入 HABTM 的桌子。
在餐厅模型中,我有:
public $hasAndBelongsToMany = array(
'Kitchen' =>
array(
'className' => 'Kitchen',
'joinTable' => 'kitchens_restaurants',
'foreignKey' => 'restaurant_id',
'associationForeignKey' => 'kitchen_id',
'unique' => true,
'conditions' => '',
'fields' => 'kitchen',
'order' => '',
'limit' => '',
'offset' => '',
),
问题是我的主页有单独的控制器,我需要从具有复杂条件的模型中检索数据。
我添加了
public $uses = array('Restaurant');
到我的主页控制器,这里是我需要你建议的部分。
我只需要选择厨房 = $id 的餐厅。我试图添加
public function index() {
$this->set('rests', $this->Restaurant->find('all', array(
'conditions' => array('Restaurant.active' => "1", 'Kitchen.id' => "1")
)));
}
我得到了 SQLSTATE[42S22]: Column not found: 1054 Unknown column in 'where 子句' 错误。显然我需要从“HABTM 连接表”中获取数据,但我不知道如何。