Sql Laravel Elotenting:选择一个字段等于另一个字段的记录
如果这是重复的,我道歉。在雄辩的ORM中,选择一个字段等于另一个字段的记录是否可能?在MySQL中,这意味着:Sql Laravel Elotenting:选择一个字段等于另一个字段的记录,sql,laravel,eloquent,orm,Sql,Laravel,Eloquent,Orm,如果这是重复的,我道歉。在雄辩的ORM中,选择一个字段等于另一个字段的记录是否可能?在MySQL中,这意味着: SELECT Id, Url, ModelId WHERE Url LIKE CONCAT('%', ModelId, '%') 在Eloquent中可以这样做吗?或者我必须使用原始查询?在查询生成器(和Eloquent)中等于另一个字段的字段是,其中列('Url','LIKE','ModelId'),但是由于在第二部分中有其他内容,您需要使用原始查询,例如 DB::table(
SELECT Id, Url, ModelId
WHERE Url LIKE CONCAT('%', ModelId, '%')
在Eloquent中可以这样做吗?或者我必须使用原始查询?在查询生成器(和Eloquent)中等于另一个字段的字段是
,其中列('Url','LIKE','ModelId')
,但是由于在第二部分中有其他内容,您需要使用原始查询,例如
DB::table('table'))
->选择('Id','Url','ModelId')
->其中('Url','LIKE',DB::raw('CONCAT('%',ModelId,'%')));
谢谢!是否可以将whereColumn
与闭包一起使用以进行进一步处理?例如:如果我想从表中选择*,其中column1=column2+column3
如果是,我如何使用它们?您仍然需要DB::raw
,因为这是一个更复杂的操作,例如WHERE('column1',DB::raw('column2+column3')