Teh Choon siang
Teh Choon siang

Reputation: 23

PHP Laravel: Concat Like clause within inner join

In php laravel i am using mysql / direct query which is shown as below:

$point_rewards = DB::select("select * from integral_history_listing INNER JOIN outlets ON integral_history_listing.branch_c LIKE CONCAT('%', outlets.outlet_code, '%') where outlets.merchant_id LIKE ".Auth::user()->id." ORDER BY integral_history_listing.add_time_c DESC");

I am able to use mysql query to get any related value to the outlet code using like clause... however i wish to write it using php laravel query builder like below :

$notices = DB::table('integral_history_listing')
    ->join('outlets', 'outlets.outlet_code', 'LIKE', 'integral_history_listing.branch_c')
    ->where('outlets.merchant_id', 'LIKE', Auth::user()->id)
    ->orderBy('integral_history_listing.add_time_c', 'desc')
    ->paginate(10);

I have try include concat within the "outlets.outlet_code" but getting module by zero error. I wish to know the proper way in using concat within inner join php laravel built query.

Upvotes: 1

Views: 1075

Answers (1)

Rahul
Rahul

Reputation: 2474

Try this code:

$notices = DB::table('integral_history_listing')
->join('outlets','integral_history_listing.branch_c' , 'LIKE', DB::RAW('CONCAT("%",outlets.outlet_code,"%")'))
->where('outlets.merchant_id', 'LIKE', Auth::user()->id)
->orderBy('integral_history_listing.add_time_c', 'desc')
->paginate(10);

Upvotes: 1

Related Questions