質問編集履歴

1

エラーメッセージを記載しました。

2018/12/05 08:38

投稿

harusyoui
harusyoui

スコア55

test CHANGED
@@ -1 +1 @@
1
- laravelのSQLのLEFTJOINで結合する片方だけのテーブルをWhereで絞り込みたいのですが。
1
+ laravelのSQLのrightJOINで結合する片方だけのテーブルをWhereで絞り込みたいのですが。
test CHANGED
@@ -10,9 +10,21 @@
10
10
 
11
11
 
12
12
 
13
- というSQLをLaravelのコントローラで行いたいのですが、下記の2行目に文法エラーが出てしまいます。
13
+ というSQLをLaravelのコントローラで行いたいのですがエラーが出てしまいます。
14
14
 
15
15
  この場合どう書けば上手くいきますか?
16
+
17
+
18
+
19
+ ### 発生している問題・エラーメッセージ
20
+
21
+
22
+
23
+ ```
24
+
25
+ SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sales_data.shop_id and sales_data.sales_date = "2018-09-01"' in 'on clause' (SQL: select `shop`.`shop_name` as `shop_name`, sum(sales_data.sales_amount) as sales_amount from `sales_data` right join `shop` on `shop`.`shop_id` = `sales_data`.`shop_id and sales_data`.`sales_date = "2018-09-01"` group by `shop`.`shop_name`)
26
+
27
+ ```
16
28
 
17
29
 
18
30
 
@@ -24,7 +36,7 @@
24
36
 
25
37
  $shops = Sales_data::select('shop.shop_name', DB::raw('sum(sales_data.sales_amount) as sales_amount'))
26
38
 
27
- ->rightJOIN( 'shop', 'shop.shop_id', '=', 'sales_data.shop_id and sales_data.sales_date = '2018-09-01'')
39
+ ->rightJOIN( 'shop', 'shop.shop_id', '=', 'sales_data.shop_id and sales_data.sales_date = "2018-09-01"')
28
40
 
29
41
  ->groupby('shop.shop_name')->get();
30
42