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


PHP: Laravel how to eager load find method

我有一个模型Users,它有很多Pages,我想急切地加载下面的方法,这样它只返回一个用户和所有急切地加载的页面,我该怎么做?

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

我尝试了但没有成功,它加载了所有内容:

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

去掉括号。

$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);
}