CakePHP-HABTM分页查询问题
|
桌子
restaurants
cuisines
cuisines_restaurants
餐厅和美食模型都相互建立了HABTM。
我正在尝试获取Cuisine.name = \'italian \'(示例)的餐馆的分页列表,但始终出现此错误:
1054: Unknown column \'Cuisine.name\' in \'where clause\'
实际查询它的建筑物:
SELECT `Restaurant`.`id`, `Restaurant`.`type` .....
`Restaurant`.`modified`, `Restaurant`.`user_id`, `User`.`display_name`,
`User`.`username`, `User`.`id`, `City`.`id`,`City`.`lat` .....
FROM `restaurants` AS `Restaurant` LEFT JOIN `users` AS `User` ON
(`Restaurant`.`user_id` = `User`.`id`) LEFT JOIN `cities` AS `City` ON
(`Restaurant`.`city_id` = `City`.`id`) WHERE `Cuisine`.`name` = \'italian\'
LIMIT 10
\“ ... \”部分只是我删除的其他字段,以缩短显示给您的查询。
我不是CakePHP专业人士,所以希望这里存在一些明显的错误。我这样称呼分页:
$this->paginate = array(
\'conditions\' => $opts,
\'limit\' => 10,
);
$data = $this->paginate(\'Restaurant\');
$this->set(\'data\', $data);
$ opts是一组选项,其中一个是\'Cuisine.name \'=> \'italian \'
我也尝试设置$ this-> Restaurant-> recursive = 2;但这似乎没有做任何事情(我想我不必这样做?)
任何帮助或指示,我们将不胜感激。
编辑
models/cuisine.php
var $hasAndBelongsToMany = array(\'Restaurant\');
models/restaurant.php
var $hasAndBelongsToMany = array(
\'Cuisine\' => array(
\'order\' => \'Cuisine.name ASC\'
),
\'Feature\' => array(
\'order\' => \'Feature.name ASC\'
),
\'Event\' => array(
\'order\' => \'Event.start_date ASC\'
)
);
没有找到相关结果
已邀请:
5 个回复
才脊烽馈低
和as6ѭ具有相同的选项。在这里,我们需要使用
选项。
该解决方案比其他解决方案笨拙得多,但具有工作优势。
矾醒忻
选项中。 所以这样的事情应该工作
邪罗逢确胃
凄挡
必须是SELECT的FROM子句上的表(或别名)。 所以错误: 1054:\'where子句\'中的未知列\'Cuisine.name \' 只是因为没有在FROM子句中引用它
臂哦