0

我在 CakePHP 中有一个模型类,定义如下:

class Programme extends AppModel {
    public $hasOne = array(
        'ProgrammeLikes' => array(
        'className' => 'ProgrammeLikes',
        'fields' => array('likes'));
}

当从数据库中检索我的模型时,它们作为一个数组返回,其中一个数组键为“Programme”,一个单独的数组键为“ProgrammeLikes”(正确包含“likes”值)。为了减少对现有代码的必要更改,我希望“喜欢”值位于“程序”数组中。

这可能吗?

提前致谢

4

1 回答 1

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

}

注意:我假设Modelprogramme_likes是您的表名,ProgrammeLikes并且programme_likes_idProgrammeModel 的外键,因此您可以按照自己的方式安排查询以满足您的要求。

于 2013-10-01T05:35:53.700 回答