这些部分与水平和程度有关。所以我需要在场上选择级别,等级和部分。 阅读cakephp 3书后发现使用" valueField"我可以展示我想要的领域。但这次我需要展示两个领域。
在我的控制器中:
$secciones = $this->Users->Secciones->find('list', [
'keyField' => 'id',
'valueField' => ['nivele.nivel']
])->contain(['Niveles', 'Grados']);
当我输入valueField [' nivele.nivel',' grado.grado']时,只显示一个分号。
如何在选择字段中显示两个关系?
感谢。
我已经解决了这个问题 How do I create a keyValue pair by combining/having two fields in CakePHP 3? 但在那种情况下没有关系。在我的情况下,我需要使用两个字段 关系。
阅读解决方案 How do I create a keyValue pair by combining/having two fields in CakePHP 3? 我这样做了:
$secciones = $this->User->Secciones
->find()
->select(['id', 'nivele_id', 'grado_id'])
->formatResults(function($results) {
/* @var $results \Cake\Datasource\ResultSetInterface|\Cake\Collection\CollectionInterface */
return $results->combine(
'id',
function($row) {
return $row['nivele.nivel'] . ' ' . $row['grado.grado'];
}
);
})
->contain(['Niveles', 'Grados']);
但我有一个致命的错误: - (