我想在CakePHP 3中創建一個分組事物的列表,以在表單的選擇列表中創建分組列表。我不確定我是否錯過了一些東西,或者我是否期望太多的蛋糕,並且應該做更多的自己。在CakePHP 3中分組選擇列表(optgroup)
我有一個名爲Issues
的控制器和一個名爲RelatedIssues
的自引用列。每個Issue
都屬於System
,這是我希望將問題分組的問題。
在我IssuesTable.php
:
$this->belongsTo('RelatedIssues', [
'className' => 'Issues',
'foreignKey' => 'issue_id'
]);
$this->belongsTo('Systems', [
'foreignKey' => 'system_id',
'joinType' => 'INNER'
]);
...在我IssuesController
的edit
方法:
$relatedIssues = $this->Issues->RelatedIssues->find('list', [
'groupField' => 'system_id'
]);
當我到下拉列表中,項目被system_id
爲分組指定,但我不知道如何讓他們按System
的標題字段分組。這甚至是可能的,還是我必須寫一個不錯的嵌套foreach
結構來做到這一點?
如果我添加了含有(),但留下 'SYSTEM_ID',我得到「完整性約束違規:1052列順序條款中的'標題'不明確」。我在其他地方完成了一些奇怪的事情。 – Vaughany
看來您在某處添加了訂單子句。也許在你的Tables文件中的一個 – arilia
謝謝@arilia,我確實在控制器中的所有'findAll'查詢中都有一個order子句。我不認爲這會產生不利影響。但是我確實想對這份清單進行排序,我會怎麼做呢? – Vaughany