sql >> データベース >  >> RDS >> Mysql

未定義のプロパティ:Illuminate \ Database \ Eloquent \ Collection ::Laravel 5.2

    エラー状態のように:

    モデルではなく、コレクションのプロパティにアクセスしようとしています。まず、次のように、作成した関係を利用できます。

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

    これにより、別のクエリを実行して注文アイテムを取得する代わりに、注文アイテムが結果に含まれるようになります。

    その後、$orderを渡すことができます ビューへ:

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

    (実際の注文であるorderNumberも省略できます)

    次に、orderにアクセスできます ビューでitemsをループします このように:

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

    FK

    もう1つのヒントは、FKのように、インデックスを使用してパフォーマンスを向上させ、見栄えを良くするようにテーブルを更新することです。 作成移行のコメントで言及します。 移行 を行うことができます 更新するには、次のようにします:

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

    および/またはニーズ(カスケードなど)に応じて、これを拡張します。




    1. SQLServerのパフォーマンスTOPCPUクエリ-2

    2. 特別な島々

    3. 複数のANDステートメントを含むMySQLクエリは1つを無視しているようです

    4. phpを使用してhtmlフォームにmysqlデータを入力するとnullが発生します