2016-08-14 2 views
0

мне нужно подробное объяснение по этой выдержке из Мартина Bean Laravel Essential:Laravel нагрузки, связанные с классом модели

$breed = Furbook\Breed::with('cats') 
- >whereName($name) 
- >first() 

Я все понимаю метод, кроме как с(). Pls объясняет в sql, что используется с (cat). Pls мой код может не отформатировать хорошо, потому что я использовал приложение.

ответ

0

Если вы посмотрите на documentation, вы увидите, что «с» предназначен для активной загрузки. Это можно объяснить следующим образом.

select * from books where id = 1 

select * from books where id = 2 

select * from books where id = 3 

select * from books where id = 4 
.... 

Этот запрос сводится к

select * from books 

select * from authors where id in (1, 2, 3, 4, 5, ...) 

, который является более эффективным.

0

with() метод добавления отношение к выбранному Model.Reference Laravel Builder

Установить отношения, которые должны быть готовы загружены.

В основном, он присоединяется к базовой таблице (тот, на котором вы выполняете запрос. В вашем случае «породы».) С одним переданным методу with() в качестве аргумента. (В вашем случае «кошки»).

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