laravel 5 内部联接和分组查询语法错误
laravel 5 inner join and group by query syntax error
请帮助我在 laravel 5 中查询格式。我是使用 laravel 5 的初学者,我只是通过搜索来提出这个查询,但现在我收到错误,我不知道在哪里以及为什么?我认为我的错误只是在语法上?
这是我的代码:
$date = date("Y-m-d", strtotime($request->datepicker2));
$products = DB::table('shipping_table')
->select('products.product_name', 'products.price', 'Sum(shipping_products.quantity) AS qtysold', 'shipping_table.sold_date')
->join('shipping_products','shipping_table.shipping_id', '=', 'shipping_products.shipping_id')
->join('products','products.product_id', '=', 'shipping_products.product_id')
->where([['DATE(shipping_table.sold_date)', '=',$date], ['shipping_table.shipping_status', '=' ,1]])
->groupBy('products.product_name')
->paginate(8);
有什么建议吗?我打印了错误,上面写着:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'DATE(shipping_table.sold_date)' in 'where clause'
你在这行有额外的起始 [
:-
->where([['DATE(shipping_table.sold_date)', '=',$date, ['shipping_table.shipping_status', '=' ,1]])
必须是(用DB::raw()
才能用mysql functions
):-
$date = date("Y-m-d", strtotime($request->datepicker2));
$products = DB::table('shipping_table')
->select('products.product_name', 'products.price', DB::raw("Sum(shipping_products.quantity) as qtysold"), 'shipping_table.sold_date')
->join('shipping_products','shipping_table.shipping_id', '=', 'shipping_products.shipping_id')
->join('products','products.product_id', '=', 'shipping_products.product_id')
->where([[DB::raw("date(shipping_table.sold_date)"),$date], ['shipping_table.shipping_status', '=' ,1]])
->groupBy('products.product_name')
->paginate(8);
注:-
关于你得到的错误 (Syntax error or access violation: 1055
) 检查这个答案并相应地做:-
请帮助我在 laravel 5 中查询格式。我是使用 laravel 5 的初学者,我只是通过搜索来提出这个查询,但现在我收到错误,我不知道在哪里以及为什么?我认为我的错误只是在语法上?
这是我的代码:
$date = date("Y-m-d", strtotime($request->datepicker2));
$products = DB::table('shipping_table')
->select('products.product_name', 'products.price', 'Sum(shipping_products.quantity) AS qtysold', 'shipping_table.sold_date')
->join('shipping_products','shipping_table.shipping_id', '=', 'shipping_products.shipping_id')
->join('products','products.product_id', '=', 'shipping_products.product_id')
->where([['DATE(shipping_table.sold_date)', '=',$date], ['shipping_table.shipping_status', '=' ,1]])
->groupBy('products.product_name')
->paginate(8);
有什么建议吗?我打印了错误,上面写着:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'DATE(shipping_table.sold_date)' in 'where clause'
你在这行有额外的起始 [
:-
->where([['DATE(shipping_table.sold_date)', '=',$date, ['shipping_table.shipping_status', '=' ,1]])
必须是(用DB::raw()
才能用mysql functions
):-
$date = date("Y-m-d", strtotime($request->datepicker2));
$products = DB::table('shipping_table')
->select('products.product_name', 'products.price', DB::raw("Sum(shipping_products.quantity) as qtysold"), 'shipping_table.sold_date')
->join('shipping_products','shipping_table.shipping_id', '=', 'shipping_products.shipping_id')
->join('products','products.product_id', '=', 'shipping_products.product_id')
->where([[DB::raw("date(shipping_table.sold_date)"),$date], ['shipping_table.shipping_status', '=' ,1]])
->groupBy('products.product_name')
->paginate(8);
注:-
关于你得到的错误 (Syntax error or access violation: 1055
) 检查这个答案并相应地做:-