-
Laravel join sql query syntax with where between group by
Its a query to join two tables and get the details in between given date format ,according to month (month wise) and of specific city .
sample workSimple SQL query
the query in simple SQL to be added in any language .
select count(*) as count , city , MONTH(`abctable`.`created_at`) as mm, YEAR(`abctable`.`created_at`)as yy from `abctable` join `xyztable` on `abctable`.`entity_id` = `xyztable`.`parent_id` where `abctable`.`created_at` between '2019-04-24 00:00:00' and '2019-09-12 12:12:12' AND `xyztable`.`city`='Pune' GROUP BY YEAR(`abctable`.`created_at`),MONTH(`abctable`.`created_at`)
Laravel SQL query
the sql query in laravel controller form data.
$users = DB::table('abctable') ->select(DB::raw('count(*) as count, MONTH(abctable.created_at) as MM, YEAR(abctable.created_at) as YY')) ->join('xyztable', 'n3d_sales_flat_order_grid.entity_id', '=', 'xyztable.parent_id') ->whereBetween('abctable.created_at',[new Carbon($fdate),new Carbon($gdate)]) ->where('xyztable.city','like',$city) ->groupBy(DB::raw('MONTH(abctable.created_at)'),DB::raw('YEAR(abctable.created_at)')) ->get();