2013-07-31 4 views
0

моя база данных имеет эту иерархию:Laravel - Иерархия в модели красноречивый

- Manager: 
    - Coordinator: 
    - Supervisor: 
     - Operator 

этот код, выход все «координатор» принадлежит «менеджер»:

Manager::find(1)->coordinator()->get(); 

можно получить все «Прораб» принадлежит «координатору» напрямую? Пример:

Manager::find(1)->coordinator()->supervisor()->get(); 

К сожалению на английском, я бразилец

+0

Да, это возможно, вам просто нужно определить все отношения. –

ответ

0

То есть вполне возможно, вам просто нужно определить все отношения в вашей модели. Тогда вы могли бы получить все все «оператор» для определенного «менеджера», выполнив:

Manager::find(1)->coordinator->supervisor->operator; 

В этом коде я использую динамические Properites, которые приходят с красноречивым ОРМОМ.

Когда я сказал: «Вы должны defin всех отношений в вашей модели», выполнив следующие действия:

class Manager extends Eloquent 
{ 
    public function coordinator() 
    { 
     return $this->hasMany('Coordinator'); 
    } 
} 

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

См. Документацию о Relationship, one-to-many, in Laravel 4.

+0

Я сделал это, но вернул это: Неопределенное свойство: Illuminate \ Database \ Eloquent \ Collection :: $ supervisor –

+0

Удалить знак доллара. –

+0

Обнаружена 'ошибка', была выбрана коллекция -Illuminate \ Database \ Eloquent \ Collection - add-> first() или в цикле и работе !! благодаря –

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