sql >> Databáze >  >> RDS >> Mysql

Nedefinovaná vlastnost:Illuminate\Database\Eloquent\Collection::Laravel 5.2

Stejně jako vaše chyba uvádí:

Pokoušíte se přistupovat k vlastnosti ve sbírce namísto modelu. Nejprve můžete využít vztah, který jste vytvořili, například takto:

$order = App\westcoorder::where('id', $orderNumber)->with('westcoorderitem')->firstOrFail();

Tím zajistíte, že položky objednávky budou zahrnuty do výsledku namísto provádění dalšího dotazu k jejich načtení.

Poté můžete předat $order k zobrazení:

return view('welcome', compact('orderNumber', 'order'));

(Pravděpodobně můžete také vynechat orderNumber, což byla skutečná objednávka.)

Poté můžete vstoupit do order ve vašem zobrazení a procházejte items takhle:

@foreach($order->westcoorderitem as $item)
    {{ $item->productName }}
@endforeach

FK

Dalším tipem může být aktualizace tabulky tak, aby používala indexy ke zlepšení výkonu a aby byla přehledná, jako je FK zmiňujete v komentáři k migraci vytvoření. Můžete provést migraci pro aktualizaci, jako:

$table->foreign('westcoorder_id')->references('id')->on('westcoorders');

A/nebo to rozšiřte podle svých potřeb (kaskádování atd.).




  1. Import CSV nebo XML do MySQL

  2. php+mysql:vložte pole php do mysql

  3. Třídění prvků pole

  4. Řešení dlouhodobých dotazů MySQL