CakePHP 返回在主结果数组中有一个关系


CakePHP return hasOne relationships within main result array

我在 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_likesProgrammeLikes模型的表名,programme_likes_idProgramme模型",以便您可以按照自己的方式安排查询,以满足您的要求。