我在CakePHP中有一个模型类定义如下:
class Programme extends AppModel {
public $hasOne = array(
'ProgrammeLikes' => array(
'className' => 'ProgrammeLikes',
'fields' => array('likes'));
}
从数据库中检索我的模型时,它们将作为一个数组返回,其数组键入“Program”,另一个数组键入“ProgrammeLikes”(正确包含“likes”值)。为了减少现有代码所需的更改,我希望'likes'值在'Program'数组中。
这可能吗?
提前致谢
答案 0 :(得分:0)
在这里使用virtualFields来完成这件事。
class Programme extends AppModel {
public $hasOne = array(
'ProgrammeLikes' => array(
'className' => 'ProgrammeLikes',
'fields' => array('likes')
);
public $virtualFields = array(
'likes' => 'SELECT likes FROM programme_likes AS ProgrammeLikes WHERE ProgrammeLikes.id = Programme.programme_likes_id'
);
// Where programme_likes_id is the foriegnkey for Programme model
}
注意:我认为programme_likes
是ProgrammeLikes
模型的表名,而programme_likes_id
是foriegnkey for
Programme
模型,因此您可以按自己的方式安排符合您要求的查询。