PHP: Laravel 如何预加载查找方法
PHP: Laravel how to eager load find method
我有一个模型 Users
,它有很多 Pages
,我想预先加载下面的方法,这样它 returns 只有一个用户可以预先加载所有页面,我该怎么做。
$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);
}
我有一个模型 Users
,它有很多 Pages
,我想预先加载下面的方法,这样它 returns 只有一个用户可以预先加载所有页面,我该怎么做。
$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);
}