我在 CakePHP 中有一个模型类,定义如下:
class Programme extends AppModel {
public $hasOne = array(
'ProgrammeLikes' => array(
'className' => 'ProgrammeLikes',
'fields' => array('likes'));
}
从数据库中检索我的模型时,它们以数组的形式返回,其中数组键为"Program",另一个数组键为"ProgramLikes"(正确包含"likes"值)。为了减少对现有代码的必要更改,我希望"likes"值位于"程序"数组中。
这可能吗?
提前致谢
在这里使用 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
是 Programme
模型",以便您可以按照自己的方式安排查询,以满足您的要求。