我的表格结构如下
date seller unit price total
05-06-17 abc 14 700 9800
05-06-17 pqr 12 600 7200
05-06-17 abc 10 520 5200
06-06-17 abc 10 600 6000
06-06-17 pqr 15 520 7800
06-06-17 pqr 16 520 8320
我需要获取像
这样的记录1) 'date' = '05-06-2017', 'seller' = 'abc', 'total' = '15000'
2) 'date' = '05-06-2017', 'seller' = 'pqr', 'total' = '7200'
3) 'date' = '06-06-2017', 'seller' = 'abc', 'total' = '6000'
4) 'date' = '06-06-2017', 'seller' = 'pqr', 'total' = '16120'
我需要日期数据来自数据库。 seller
abc
在date
05-06-2017
的表格中有两个条目,因此我需要total
seller
当天的abc
作为对于所有pqr
date
的{{1}}个相同的内容
答案 0 :(得分:3)
每当我们有多个行具有相同的数据需要在最终输出中合并时,我们使用分组 mySQL 的功能。
因此,在您的情况下,您可以使用laravel查询构建器以这种方式执行此操作。
DB::table('orders')->select('date', 'seller', DB::raw('SUM(total) as total'))
->groupBy('seller')
->groupBy('date')
->get();
<强>解释强>
DB::select('orders')->select('date', 'seller', DB::raw('SUM(total) as total'))
将查询我们的数据库中的orders
表格&amp;然后获取我们提供的列,即date, seller and sum of total column as total
->groupBy('seller')->groupBy('date')
它将在同一日期合并同一卖家的多个记录。
->get();
我们将从查询中获取数据。
答案 1 :(得分:2)
你可以尝试
DB::table('orders')
->select('date', 'seller', DB::raw('SUM(total)'))
->groupBy('date')
->groupBy('seller')
->get();
答案 2 :(得分:0)
您应该使用高级搜索查询。 Here,这可能会对您有所帮助
答案 3 :(得分:0)
$search = $request->search;
$productSearch = Product::where('title', 'LIKE', '%'.$search.'%')
->orWhere('description', 'LIKE', '%'.$search.'%')
->get();
return $produtcSearch;
答案 4 :(得分:0)
你可以像这样使用不同的多列(在 Laravel 8 中检查过)。
Product::where('column_name','=', $searchTerm)
->distinct('column1','column2')
->get();