Level 8
@guijs try wrapping your orWhere clauses. E.g.
$select = DB::table('mpy_reg as reg')
->select([
'reg.id',
'reg.NMFAB',
'reg.DSMOD',
'reg.REG',
'reg.id_make',
'm.name'
])
->leftJoin('mpy_make as m', 'm.id', '=', 'reg.id_make')
->where('reg.id_make', '=', null) // not executed if $term is not empty
->when($term, function ($query, $term) {
$query->where(function ($q) use ($term) {
$q->where('reg.NMFAB', 'like', '%'.$term.'%')
->orWhere('reg.DSMOD', 'like', '%'.$term.'%')
->orWhere('reg.REG', 'like', '%'.$term.'%');
});
})
//->whereNull('rab.id_make') // not executed here also
->groupBy('reg.REG')
->orderBy('reg.id', 'asc')
->paginate($per_page);
1 like