我有以下模型结构:
型号:
前三个是在应用程序的初始设置时创建的,之后通过bake脚本添加了组。
模型关联:
我正在尝试在应用程序模型中检索数据,但我遇到了一些问题。我似乎无法进入Group表。我不断被告知我正在寻找的专栏不存在。我的问题:
$options = array(
'fields' => array(
'Application.applicant_id',
'Application.opening_id',
'Application.value_1',
'Application.date',
'Applicant.first_names',
'Applicant.surname',
'Applicant.gender',
'Applicant.id_number',
'Opening.title',
'Group.group_xs',
'Group.group_name'
),
'recursive' => -1,
'contain' => array(
'Applicant',
'Opening.Group',
),
'conditions' => array(
'Applicant.id' => $applicant_id,
'Opening.id' => $opening_id
)
);
$result = $this->find('all', $options);
错误讯息:
Column not found: 1054 Unknown column 'Group.group_xs' in 'field list'
我尝试了很多不同的变体,它甚至都不好笑。我已经尝试了有和没有'递归','recursive'=> -1,0和1.我还尝试了以下“包含”键的变体,以及其他许多变种。
'contain' => array(
'Applicant',
'Opening' =>array('Group')
),
'contain' => array(
'Applicant',
'Opening',
'Group'
),
'contain' => array(
'Group'
),
我在Application模型的顶部加载Containable行为,如下所示:
public $actsAs = array('Containable' => array('recursive' => true,'autofields' => true));
任何人都可以帮忙。这是怎么回事?
答案 0 :(得分:0)
我认为可容纳对象仅适用于“具有”关系,而不适用于“ belongsTo”关系。
尝试使用联接表https://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#joining-tables