Posts

Showing posts from April, 2018

DB::raw() Query in Eloquent ->get();

ParkInfo::leftJoin('park_block_setup as block','block.park_id','=','park_info.id')     ->where('park_info.is_archive', 0)     ->groupBy('park_info.id')     ->orderBy('park_info.park_name', 'asc')     ->get([         'park_info.*',         DB::raw('ifnull(sum(block.has_land),0) has_land'),         DB::raw('ifnull(sum(block.has_space),0) has_space')     ]);

MySQL Trigger Example

DROP TRIGGER IF EXISTS `park_slap_booking_tmp_after_update`; DELIMITER ;; CREATE TRIGGER `park_slap_booking_tmp_after_update` AFTER UPDATE ON `park_slap_booking_tmp` FOR EACH ROW BEGIN   INSERT INTO `park_slap_booking_tmp_audit` (`id`, `space_level_setup_id`, `space_slap_setup_id`, `slap_name`, `remarks`, `slap_size`, `per_unit_price`, `app_id`, `process_type_id`, `status`, `is_archive`, `created_at`, `created_by`, `updated_at`, `updated_by`, `audit_event`, `audit_timestamp`) VALUES(NEW.`id`, NEW.`space_level_setup_id`, NEW.`space_slap_setup_id`, NEW.`slap_name`, NEW.`remarks`, NEW.`slap_size`, NEW.`per_unit_price`, NEW.`app_id`, NEW.`process_type_id`, NEW.`status`, NEW.`is_archive`, NEW.`created_at`, NEW.`created_by`, NEW.`updated_at`, NEW.`updated_by`, 'update', CURRENT_TIMESTAMP); END;; DELIMITER ;

Laravel Eloquent Joining Query (Multiple clauses of purpose in joining)

return TableA::leftJoin('table_b as b',function($join){                 $join->on('b.foreign_id','=','table_a.id');                 $join->where('b.status','=',1);             })             ->where('table_a.group_name','emmet')             ->groupBy('b.color')             ->get([                 'table_a.*'                 DB::raw('SUM(b.price) as total_price')             ]);