Имам това обаждане по маршрута:
Route::resource("products", "ProductController", ["except" => ["show"]]);
Така че, ако вляза /products/438/edit
той нарича моя метод за редактиране на контролер, това е нещо такова:
public function edit(Product $product){}
където $product
е, правилно, моя SELECT * FROM products WHERE id = 438
сега въпросът ми е, какво ще стане, ако искам да зареждам връзка като цени ()
Опитах:
$product = $product->with("prices");
и
$product = Product::find($product->id)->with("prices")
но без успех. Благодаря
Отговори:
0 за отговор № 1Можете да заредите връзки към вече съществуващ модел или колекция, като използвате load()
:
$product->load("prices")
0 за отговор № 2
Когато го правиш Product $product
и използвайки контролера на ресурсите, вие просто инжектирате Product
модел. Затова променете функцията на:
public function edit(Product $product, $id)
Можете да зареждате връзка с използването на with()
метод:
$productData = $product->where("id", $id)->with("prices")->first();
Тогава ще имате достъп до цени с нещо подобно:
@foreach ($productData->prices as $price)
{{ $price->sum }}
@endforeach