我有一个模型 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);
}
关于PHP: Laravel 如何急切加载查找方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34617150/