Art*_*tin 2 eager-loading eloquent laravel-7 laravel-models
我正在尝试在我的项目中使用 Laravel 预加载,并且我已经阅读了有关它的文档。文档中的每个示例都是关于使用预加载获取模型的所有实例。但这只是获取所有实例而不仅仅是单个模型吗?考虑一下:
public function single(Coin $coin)
{
$coin = $coin->with('exchanges')->get();
return view('public.coin',compact('coin'));
}
Run Code Online (Sandbox Code Playgroud)
它是一种控制器方法,它使用路由绑定加载单个硬币并注入实例,我正在尝试急切加载该硬币的关系。但是当我在刀片视图文件中访问 $coin 时,我会得到所有硬币的列表。所以我不能急切地加载注入的模型实例?!
您正在寻找延迟预加载。
您可以使用以下方法实现您想要的:
public function single(Coin $coin)
{
$coin->load('exchanges');
return view('public.coin',compact('coin'));
}
Run Code Online (Sandbox Code Playgroud)
此外,您可以在检索单个模型时急切加载关系,例如:
Coin::with('exchanges')->find($id);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1480 次 |
| 最近记录: |