whereraw wherein consultas laravel eloquent

consultas - wherein laravel eloquent



Laravel-Eloquent: Advanced Wheres (3)

Su consulta debería verse así:

$query = DB::table(''table'') ->where(''column1'', 1) ->where(''column2'', 2) ->where(function ($q) use ($search_term) { $q->where(''column3'', ''like'', $search_term.''%'') ->orWhere(''column4'', ''like'', $search_term.''%''); }) ->orderBy(''column1'', ''asc'') ->get();

Intento crear algo como esto usando Eloquent. Sin embargo, estoy teniendo problemas con la cláusula o.

SELECT * FROM table WHERE column1 = 1 AND column2 = 2 AND (column3 LIKE $search_term.''%'' OR column4 LIKE $search_term.''%'') ORDER BY column1;

Esto es lo que tengo:

$query = DB::table(''table'') ->where(''column1'', ''='', 1) ->where(''column2'', ''='', 2) ->orderBy(''column1'', ''asc''); $results = App/Table::where(function ($query) use ($search_term) { $query->where(''column3'', ''like'', $search_term.''%''); })->orwhere(function ($query) use ($search_term) { $query->where(''column4'', ''like'', $search_term.''%''); });


También puede usar la cláusula whereRaw :

App/Table::where(''column1'', 1) ->where(''column2'', 2) ->whereRaw("(column3 LIKE $search_term.''%'' OR column4 LIKE $search_term.''%'')") ->orderBy(''column1'', ''asc'');


$results = App/Table::select(''*'') ->where(''column1'', 1) ->where(''column2'', 2) ->where(function ($query) use ($search_term) { $query->where(''column3'', ''like'', $search_term.''%'') ->orWhere(''column4'', ''like'', $search_term.''%'') }) ->orderBy(''column1'', ''asc'') ->get();