Я использовал запрос соединения, который объединяет три сотрудника таблицы, места и employee_places. Запрос соединения дает мне все результаты, поскольку я использовал find ('all'). Но на странице просмотра я просто хочу для отображения имени сотрудника из таблицы сотрудников - имя места из таблицы места в раскрывающемся списке. например: - emp1-place1, emp2-place2 и т. Д. Где я должен указывать имя поля в поиске. Посмотрите на следующий код:Входит в cakephp, используя find
$ OPTIONS 'сотрудников' [ 'присоединяется'] = массив ( массив ('стол' => 'псевдоним' => 'EMP', 'тип' => ' внутренняя ' ' условий'=> массив ( 'emp.id = EmployeePlace.employee_id' ) ), массив ('стол'=> 'места', 'псевдоним'=> 'пл', ' type '=>' internal ', ' conditions '=> array ( ' pl.id = EmployeePlace.place_id ' ) ) );
$ empTables = $ this-> Bill-> EmployeePlace-> find ('all', $ options);
$ this-> set (compact ('empTables'));
Этот запрос приводит следующий массив: -
Массив ( [0] => Массив ( [EmployeePlace] => Массив ( [ID] => 1 [employee_id] = > 1 [place_id] => 1 [Дата] => 2011-02-02 )
[Employee] => Array
(
[id] => 1
[image] =>
[firstName] => Andy
[lastName] => Murray
[date_of_joining] => 2010-09-02
[date_of_leaving] => 2011-02-02
[date_of_birth] => 1991-08-10
[gender] => Male
[supervisor] => 0
[designation] => Manager
[user_id] => 0
)
[Place] => Array
(
[id] => 1
[placeName] => table-1
[section_id] => 1
[position] => Left
[seating_capacity] => 4
)
)
)
Мне просто нужно firstName от сотрудника - placeName из таблицы места в выпадающем списке. Как это сделать, используя условие в поиске.
В Модели есть виртуальные поля, которые могли бы помочь. –
Если вы приведете пример по вышеуказанному коду, который будет лучше. –
Виртуальные поля могут комбинировать поля только в одной модели, если я правильно помню – kaklon