Ezra
Ezra

Reputation: 247

Change join query to laravel

I have a mysql query

SELECT a.`head_id` AS "Headid",a.`name` AS "HeadName", b.`id` AS "Emp_ID",b.`name` AS "Emp_name" FROM users a join users b ON a.id=b.head_id where a.`head_id`=63 or b.`id`=63

How can i convert this query to laravel?

$users = DB::table('users a')
            ->join('users b', 'a.id', '=', 'b.head_id')

            ->select('a.head_id as Headid','a.name AS HeadName','b.name AS Emp_name','b.name AS Emp_name')
            ->get();

but bad luck this is not working.please help me.

Upvotes: 4

Views: 235

Answers (1)

M Khalid Junaid
M Khalid Junaid

Reputation: 64466

Your query builder looks fine just add where filters as per your plain query

$users = DB::table('users as a')
            ->join('users as b', 'a.id', '=', 'b.head_id')
            ->select('a.head_id as Headid','a.name AS HeadName','b.name AS Emp_name','b.name AS Emp_name')
            ->where('a.head_id', '=', 63)
            ->orWhere('b.id','=', 63)
            ->get();

Upvotes: 4

Related Questions