ピボットテーブルに格納されている広告申込情報を含むオーダーの表があります。Laravel Eloquentすべての行とそれぞれのピボットテーブルの行を取得します
すべての広告申込情報が正常に処理されると、その注文は「処理済み」としてマークされ、ページに表示する必要があります。
したがって、「処理済み」としてマークされたすべてのオーダーと、それぞれのオーダーに含まれる広告申込情報を取得したいと考えています。
私のクエリは次のようになります。
$orders = DB::table('order_product')
->join('products', 'order_product.product_id', '=', 'products.product_id')
->join('orders', 'order_product.order_id', '=', 'orders.order_id')
->join('customers', 'orders.customer_id', '=', 'customers.customer_id')
->where('order_product.variation_status', '=', 'dispatch')
->where('orders.store', '!=', 'null')
->groupBy('order_product.order_id')
->get();
return response()->json($orders);
私の考えはで結果を処理した後、グループされているすべてのピボットテーブルのアイテムを取得することはをORDER_IDが、これは、残念ながら動作しません。
残念なことに変化プロパティのみの代わりに2つのうち、ピボットテーブルから1行項目を含みます。
誰かが私が間違っているかもしれないことについて助けてもらえますか?
UPDATEここ
は私のモデルは Order.php
ある/**
* The products that belong to the Order.
*/
public function products()
{
return $this->belongsToMany('App\Product','order_product','order_id','product_id')
->withPivot(['qty', 'variation', 'variation_status'])
->withTimeStamps();
}
/**
* The customer that belongs to the Order.
*/
public function customer()
{
return $this->belongsTo('App\Customer', 'customer_id');
}
Product.php
/**
* The orders that belong to the product.
*/
public function orders()
{
return $this->belongsToMany('App\Order')
->withPivot(['qty', 'variation_status'])
->withTimeStamps();
}
私は、これは非常に簡単に作ることが雄弁をお勧めします。あなたは、使用されているすべてのモデル間の関係を教えてくれますか? –
こんにちは@LarsMertens私は私のモデルから関連するメソッドを追加しました。これは役に立ちますか? –
はい、私はすぐに解決できるかどうかわかりませんが、今考えています。私はいくつかの時間が残っているかどうか見ていきます。または他の誰かがクレジットを取ることができます:) –