Я использую группировку опций в форме в cakephp 3. Я использую эту находку:
$seasons = $this->Episodes->Seasons
->find('all')
->combine('id','season','show_id')
->toArray();
Результат почти то, что мне нужно:
[
(int) 269 => [
(int) 784 => (int) 1
],
(int) 270 => [
(int) 785 => (int) 1,
(int) 786 => (int) 2,
(int) 787 => (int) 3
]
]
Но вместо группировки по show_id я бы предпочел группировать по названию шоу, то есть получить доступ к таблице, связанной с полем show_id, и получить оттуда имя, в результате чего
[
'some show' => [
(int) 784 => (int) 1
],
'another show' => [
(int) 785 => (int) 1,
(int) 786 => (int) 2,
(int) 787 => (int) 3
]
]
Я старался:
$seasons = $this->Episodes->Seasons
->find('all')
->contain('Shows')
->combine('id','season','Shows.name')
->toArray();
но это не работает. (Shows.name кажется пустым, в результате чего группировка вообще отсутствует.) Как я могу добиться желаемого результата?