/ / Eager Loading на автогенерирания аргумент в Laravel - php, laravel, loading, нетърпелив

Eager Loading на автогенериран аргумент в Laravel - php, laravel, loading, нетърпелив

Имам това обаждане по маршрута:

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