在 Laravel 中自动生成参数的热切加载

Roc*_*zzo 1 php eager loading laravel

我有这个路线电话:

Route::resource('products', 'ProductController', ['except' => ['show']]);
Run Code Online (Sandbox Code Playgroud)

因此,如果我输入/products/438/edit它会在控制器上调用我的编辑方法,那就是这样:

 public function edit(Product $product){}
Run Code Online (Sandbox Code Playgroud)

在哪里 $product是正确的,我的SELECT * FROM products WHERE id = 438

现在我的问题是,如果我想急切地加载一个像价格()这样的关系怎么办

我试过了:

$product = $product->with('prices');
Run Code Online (Sandbox Code Playgroud)

$product = Product::find($product->id)->with('prices')
Run Code Online (Sandbox Code Playgroud)

但没有成功。谢谢

nXu*_*nXu 6

您可以使用以下方法将关系加载到现有模型或集合load()

$product->load('prices')