質問編集履歴
1
エラーメッセージを記載しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
laravelのSQLの
|
1
|
+
laravelのSQLのrightJOINで結合する片方だけのテーブルをWhereで絞り込みたいのですが。
|
body
CHANGED
@@ -4,13 +4,19 @@
|
|
4
4
|
FROM `sales_data`
|
5
5
|
RIGHT OUTER JOIN shop ON shop.shop_id = sales_data.shop_id and sales_data.sales_date = '2018-09-01'
|
6
6
|
|
7
|
-
というSQLをLaravelのコントローラで行いたいのですが
|
7
|
+
というSQLをLaravelのコントローラで行いたいのですがエラーが出てしまいます。
|
8
8
|
この場合どう書けば上手くいきますか?
|
9
9
|
|
10
|
+
### 発生している問題・エラーメッセージ
|
11
|
+
|
12
|
+
```
|
13
|
+
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`)
|
14
|
+
```
|
15
|
+
|
10
16
|
### 該当のソースコード
|
11
17
|
|
12
18
|
```laravel
|
13
19
|
$shops = Sales_data::select('shop.shop_name', DB::raw('sum(sales_data.sales_amount) as sales_amount'))
|
14
|
-
->rightJOIN( 'shop', 'shop.shop_id', '=', 'sales_data.shop_id and sales_data.sales_date =
|
20
|
+
->rightJOIN( 'shop', 'shop.shop_id', '=', 'sales_data.shop_id and sales_data.sales_date = "2018-09-01"')
|
15
21
|
->groupby('shop.shop_name')->get();
|
16
22
|
```
|