Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel Sum with where and alias with Eloquent

I have this query for an old Codeigniter project:

$this->db->select("SUM(source = 'FBS) AS facebook");
$this->db->select("SUM(source = 'FBS' AND promotion = 0) AS facebook_promotion");
$this->db->select("SUM(source = 'IG') AS instagram");
$this->db->select("SUM(source = 'LP') AS landing_page");   

I'd like to have same result using Laravel, if is possible with Eloquent instead of Query Builder or Raw Query.

like image 813
cloude Avatar asked Dec 19 '25 21:12

cloude


1 Answers

If you want to use raw Query Builder, it would be like,

DB::table('table_name')->where('source','=','FBS')->sum('source');

For Eloquent Models,

 Model::where('source','=','FBS')->sum('source')

It also works with eloquent relationship.

Besides, for multiple sum results like yours, it would be like,

DB::table('table_name')->get( array(
  DB::raw("SUM(source = 'FBS) AS facebook"),
  DB::raw("SUM(source = 'FBS' AND promotion = 0) AS facebook_promotion"),
));
like image 54
Abdullah Al Farooq Avatar answered Dec 22 '25 19:12

Abdullah Al Farooq



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!