PHP:Laravel如何急于加​​载查找方法

Jam*_*rge 4 php eager-loading laravel

我有一个模型Users有很多Pages,我想急切加载下面的方法,以便它只返回一个用户所有页面渴望加载,我该如何去做.

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

我尝试过但不起作用,它会加载所有内容:

$user = User::with('Pages')->get();
$pages = $user->pages();
Run Code Online (Sandbox Code Playgroud)

Tho*_*Kim 9

删掉括号.

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

如果你想急于加载它,那么使用该with方法并传递正确的参数,这将是你的关系方法的名称:

$user = User::with('pages')->find(1);
foreach($user->pages as $page) {
    var_dump($page->name);
}
Run Code Online (Sandbox Code Playgroud)