我正在编写一个应用程序来销售汽车,所以我有一个名为Anuncio的模型(显示汽车的部分,它的葡萄牙语,我不知道翻译它)有一个Carmodel和Carmodel有一个CarMake。
在anuncio控制器上我想加载所有Makes来填充组合框,所以我正在使用它:
$makes = $this->Anuncio->Carmodel->CarMake->find('list');
它的工作正常,但是这个发现带来了所有品牌,我想带来至少有一个Carmodel记录的东西(比如INNER JOIN而非LEFT JOIN)。
感谢
答案 0 :(得分:0)
您好,您没有提供任何代码,所以我不会给您准确的答案,但我会写下如何完成。
您应该覆盖模型的列表方法,特别是列表操作
class Carmodel extends AppModel {
var $belongsTo = array('User');
function find($type, $queryData = array()) {
switch ($type) {
case 'list':
//do the query that joins tables in way you want
default:
return parent::find($type, $queryData);
}
} }
找到我希望它对你有所帮助。您可以在此方法中创建自己的$类型,但不需要覆盖列表操作,但您可以在 Carmodel
中创建自己的或仅创建新方法