sql >> Base de Datos >  >> RDS >> Mysql

Propiedad no definida:Illuminate\Database\Eloquent\Collection::Laravel 5.2

Al igual que sus estados de error:

Está intentando acceder a una propiedad en una Colección, en lugar de un Modelo. Primero, puede hacer uso de la relación que creó, así:

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

Esto garantizará que los elementos del pedido se incluyan con el resultado, en lugar de ejecutar otra consulta para obtenerlos.

A continuación, puede pasar el $order a la vista:

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

(Probablemente pueda omitir el número de pedido, que también era el pedido real)

Luego puedes acceder al order en su vista y recorra los items así:

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

FK

Otro consejo podría ser actualizar su tabla para usar índices para mejorar el rendimiento y hacerla ordenada, como el FK mencionas en el comentario de tu migración de creación. Puede realizar una migración para actualizarlo, como:

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

Y/o amplía esto, según tus necesidades (en cascada, etc.).