I have this Query which i am trying to execute
$other = $this->electricityConnections->select('category_id')
->from('building_category_settings')
->where('building_id', '=', 52)
->where('hide_from_electricity_widget', '=', 1)
->groupBy('category_id')
->orderBy('kwh_used', 'desc')
;
$electCategory = $this->electricityConnections->addselect(('MIN(IF(category.description IS NOT NULL, category.description, your_electricity_yesterday_category.cat_desc) as cat_desc'), ('SUM(kwh_used) as kwh_used'), ('SUM(cost) as cost'),
'your_electricity_yesterday_category.category_id')
->leftJoin('category as category','your_electricity_yesterday_category.category_id', '=', 'category.id')
->where('your_electricity_yesterday_category.category_id', '=', 11)
->where('your_electricity_yesterday_category.building_id', '=', 52)
->whereNotIn('your_electricity_yesterday_category.category_id', $other)
->get();
dd($electCategory);
But i keep getting this error
"message": "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.`cat_desc)` as `cat_desc`, `SUM(kwh_used)` as `kwh_used`, `SUM(cost)` as `cost`' at line 1 (SQL: select `MIN(IF(category`.`description IS NOT NULL, category`.`description, your_electricity_yesterday_category`.`cat_desc)` as `cat_desc`, `SUM(kwh_used)` as `kwh_used`, `SUM(cost)` as `cost`, `your_electricity_yesterday_category`.`category_id` from `your_electricity_yesterday_category` left join `category` as `category` on `your_electricity_yesterday_category`.`category_id` = `category`.`id` where `your_electricity_yesterday_category`.`category_id` = 11 and `your_electricity_yesterday_category`.`building_id` = 52 and `your_electricity_yesterday_category`.`category_id` not in (select `category_id` from `building_category_settings` where `building_id` = 52 and `hide_from_electricity_widget` = 1 group by `category_id` order by `kwh_used` desc))",
When i do toSql() to the code above i get the following below
"select `MIN(IF(category`.`description IS NOT NULL, category`.`description, your_electricity_yesterday_category`.`cat_desc)` as `cat_desc`, `SUM(kwh_used)` as `kwh_used`, `SUM(cost)` as `cost`, `your_electricity_yesterday_category`.`category_id` from `your_electricity_yesterday_category` left join `category` as `category` on `your_electricity_yesterday_category`.`category_id` = `category`.`id` where `your_electricity_yesterday_category`.`category_id` = ? and `your_electricity_yesterday_category`.`building_id` = ? and `your_electricity_yesterday_category`.`category_id` not in (select `category_id` from `building_category_settings` where `building_id` = ? and `hide_from_electricity_widget` = ? group by `category_id` order by `kwh_used` desc)"
What am i doing wrong?