【发布时间】:2015-09-17 15:56:14
【问题描述】:
[编辑] 已解决,见:https://stackoverflow.com/a/32638610/221650
一些关联的数据没有通过,尽管它在contain 子句中。
如果我在Projects 表中设置belongsToMany 关系,我可以获得$project->Participants,与Participants 到ProjectParticipants 相关,但这样我仍然无法访问与ProjectParticipants 关联的其他表即使$project->participants->_joinData->other_related_table
如何使用相同的查询获得ProjectParticipants 和Participants?
代码:
// Database: Projects <--1:N-- ProjectParticipants --M:1--> Participants
// ProjectController:
$project = $this->Projects->get($id, ['contain'=>[
'ProjectParticipants.Participants']);
// ProjectsTable:
$this->hasMany('ProjectParticipants', [
'foreignKey' => 'project_id']);
// ProjectParticipantsTable:
$this->belongsTo('Participants', [
'foreignKey' => 'participant_id']);
【问题讨论】:
标签: cakephp orm cakephp-3.0 model-associations