0
私はクエリに除外しようとしています。クエリに除外を追加する。 Laravel 4
- Published_books
- Parameters_values
- 出荷
- 受注
最初のクエリでは、私は列を持つ出版物を求めている(plaza_type):
は、4つのテーブルがありますパラメータ値が「best」の場合
しかし、私も最初のクエリから除外したい:購入したパブリケーション(2番目のクエリ)。しかし、購入した出版物は、出荷(テーブル)が作成され、注文(テーブル)が作成され、ステータスが「有効」、「部分」、「送信済み」、「受信済み」のときである。
Iした2つの配列:
$eliteBooks = BookPublication::join('parameter_values', 'published_books.plaza_type', '=', 'parameter_values.id')
->select('published_books.*')
->where(function($query) use($then, $now)
{
$query->whereBetween('published_books.created_at', [$then, $now])
->where('parameter_values.pvalue', '=', 'best');
})
->orderBy('published_books.created_at', 'desc')->take(12)
->get()->chunk(6)->map(function($value)
{
return $value->chunk(3);
});
2つ目
$recentBoughtExchanged = BookPublication::join('shipments', 'published_books.id', '=', 'shipments.published_book_id')
->join('orders', 'shipments.order_id', '=', 'orders.id')
->join('parameter_values', 'orders.order_status', '=', 'parameter_values.id')
->select('published_books.*')
->where(function($query) use($then, $now)
{
$query->whereBetween('orders.created_at', [$then, $now])
->where('parameter_values.pvalue', '=', 'valid')
->orWhere('parameter_values.pvalue', '=', 'partial')
->orWhere('parameter_values.pvalue', '=', 'sent')
->orWhere('parameter_values.pvalue', '=', 'received');
})
->groupBy('published_books.id')
->orderBy('orders.created_at', 'desc')
->get()->chunk(6)->map(function($value)
{
return $value->chunk(3);
});
任意のヘルプ?買うことができる出版物だけを表示するために、最初のものの2番目のものから結果を除外したいと思います。