1

我正在尝试在我的项目中使用 Laravel Eager Loading,并且我已经阅读了有关它的文档。文档中的每个示例都是关于使用 Eager Loading 获取模型的所有实例。但这仅仅是获取所有实例而不仅仅是一个模型吗?考虑一下:

public function single(Coin $coin)
{
    $coin = $coin->with('exchanges')->get();
    return view('public.coin',compact('coin'));
}

它是一种控制器方法,它使用路由绑定加载单个硬币并注入实例,我试图急切加载该硬币的关系。但是当我在刀片视图文件中访问 $coin 时,我会得到所有硬币的列表。所以我不能急于加载注入的模型实例?!

4

1 回答 1

3

您正在寻找延迟加载

您可以使用以下方法实现您想要的:

public function single(Coin $coin)
{
    $coin->load('exchanges');
    return view('public.coin',compact('coin'));
}

此外,您可以在检索单个模型时急切加载关系,例如:

Coin::with('exchanges')->find($id);
于 2020-07-22T11:50:23.700 回答