2016-01-05 7 views
2

У меня есть модель Users, которая имеет-много Pages, я хочу, чтобы загрузить метод ниже, чтобы он возвращал только одного пользователя со всеми загруженными страницами, как мне идти об этом.PHP: Laravel как искать метод поиска груза

$user = User::find(1); 
$pages = $user->pages(); 
foreach($pages as $page) { 
    var_dump($page->name); 
} 

То, что я пытался, но не работает, он загружает все вместо:

$user = User::with('Pages')->get(); 
$pages = $user->pages(); 
+1

Вы должны назвать его как атрибут а не функция '$ user-> pages' –

+0

О, а также вам нужно сделать User :: find (1) -> with ('Pages') -> get(); поэтому вы просто получаете одного пользователя –

+0

@Bogdan 'pages' принадлежит' user' –

ответ

5

падение скобка.

$user = User::find(1); 
$pages = $user->pages; 
foreach($pages as $page) { 
    var_dump($page->name); 
} 

Если вы хотите нетерпеливые загрузить его, а затем использовать метод with и передать правильный параметр, который будет именем ваших методов отношений:

$user = User::with('pages')->find(1); 
foreach($user->pages as $page) { 
    var_dump($page->name); 
} 
+0

Спасибо @ThomasKim, я очень ценю, работает, как я хочу –

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

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