sql >> Database teknologi >  >> RDS >> Mysql

Udefineret egenskab:Illuminate\Database\Eloquent\Collection::Laravel 5.2

Ligesom din fejl siger:

Du forsøger at få adgang til en ejendom på en samling i stedet for en model. For det første kan du gøre brug af den relation, du har oprettet, som sådan:

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

Dette sikrer, at ordreelementerne vil blive inkluderet i resultatet i stedet for at udføre en anden forespørgsel for at hente dem.

Du kan derefter videregive $order til udsigten:

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

(Du kan sikkert også udelade ordrenummeret, som var den faktiske ordre)

Så kan du få adgang til order i din visning og gå gennem items sådan her:

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

FK

Et andet tip kunne være at opdatere din tabel til at bruge indekser til at forbedre ydeevnen og gøre den pæn, f.eks. FK du nævner i kommentaren til din oprette migration. Du kan foretage en migrering for at opdatere det, f.eks.:

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

Og/eller uddyb dette, alt efter dine behov (cascading osv.).




  1. Rails 3, ActiveRecord, PostgreSQL - .uniq kommando virker ikke?

  2. FEJL:Fejl 1005:Kan ikke oprette tabel (fejlnr.:121)

  3. Sådan fungerer UUID() i MariaDB

  4. Overtrædelse af UNIQUE KEY-begrænsning på INSERT WHERE COUNT(*) =0 på SQL Server 2005