I apologize if this is duplicated. Is it possible in Eloquent ORM to select records where one field equals another? In MySQL this means:
SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%')
Is it possible to do so in Eloquent or I’m bound to using raw queries?
Advertisement
Answer
On field equalling another in the query builder (and eloquent) is whereColumn('Url', 'LIKE', 'ModelId')
but since you have additional things in the second part you will need to use raw queries like e.g.
DB::table('table') ->select('Id', 'Url', 'ModelId') ->where('Url', 'LIKE', DB::raw("CONCAT('%', ModelId, '%')"));