php - Eloquent - join clause with string value rather than column heading -


i have question regarding join clauses in eloquent, , whether can join on string value rather table column.

i have code below querying nested set joining parent/child records in table 'destinations' via table 'taxonomy'.

the second $join statement in closure 1 causing issue; eloquent assumes column, when join on t1.parent_type = 'destination' - ie, t1.parent_type should = string value, destination.

$result = db::connection()     ->table('destinations d1')     ->select(array('d1.title level1', 'd2.title level2'))     ->leftjoin('taxonomy t1', function($join) {         $join->on('t1.parent_id', '=', 'd1.id');         $join->on('t1.parent_type', '=', 'destination');     })     ->leftjoin('destinations d2', 'd2.id', '=', 't1.child_id')     ->where('d1.slug', '=', $slug)     ->get(); 

is possible force eloquent this? i've tried replacing 'destination' db::raw('destination') not work either.

thanking kindly.

another best way achieve same :

$result = db::connection()     ->table('destinations d1')     ->select(array('d1.title level1', 'd2.title level2'))     ->leftjoin('taxonomy t1', function($join) {         $join->on('t1.parent_id', '=', 'd1.id');         $join->where('t1.parent_type', '=', 'destination');     })     ->leftjoin('destinations d2', 'd2.id', '=', 't1.child_id')     ->where('d1.slug', '=', $slug)     ->get(); 

replace on where


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

Python ctypes access violation with const pointer arguments -