2015-01-23 1 views
0

Вот мой вопрос, и мои таблицы:CakePHP 3.0 - Как я могу использовать содержание на модели, которую я только что содержал?

**sales_person** 
id | sp_number | name 
31 | 23948223 | John Doe 

**Team** 
id | name | parent_id | lft | rght 
52 | Super Team |  1  | 1 | 2 

**Team_Salesmen** 
id | team_id | sales_person_id 
1 | 52 |  31 

Так у меня есть свои продажи людей, мои команды, и стол, чтобы показать, которые продавцы относятся к каким командам.

Я собирался отобразить список всех команд команды команды, а затем перечислить всех их продавцов.

Команды связаны с Team_salesmen командой_id, поэтому я могу сделать это. Проблема в том, что это возвращает только идентификатор Team_salesmen 'id: 1, team_id: 52, sales_person_id: 31', тогда как мне нужно вернуть имя и номер продавца.

Итак, в то время как в модели «Команды» мне нужно скомпилировать TeamSalesmen, а затем содержать TeamSalesmen для SalesPerson. Как я могу цепью команд? CakePHP думает, что я пытаюсь содержать команды для SalesPersons, которые напрямую не связаны.

ответ

1

Ну ... Теперь я чувствую себя глупо. Я просматривал старые сообщения CakePHP на этом и нашел this link.

Так что я просто попытался:

->contain(['TeamSalesmen' => ['SalesPerson']]) 

только для ног, и она работала. facepalm

Awesome!

+0

Это также подробно объясняется [** в поваренной книге **] (http://book.cakephp.org/3.0/en/orm/query-builder.html#loading-associations). – ndm

 Смежные вопросы

  • Нет связанных вопросов^_^