for conectar con ciclo php laravel eloquent

php - conectar - paginate laravel



Laravel Eloquent donde el campo es X o nulo (1)

Suena como que necesitas hacer uso de cláusulas avanzadas donde .

Dado que la búsqueda en field1 y field2 es constante, las dejaremos como están, pero vamos a ajustar un poco su búsqueda en el datefield de datefield .

Prueba esto:

$query = Model::where(''field1'', 1) ->whereNull(''field2'') ->where(function ($query) { $query->where(''datefield'', ''<'', $date) ->orWhereNull(''datefield''); } );

Si alguna vez necesita depurar una consulta y ver por qué no funciona, puede ayudar a ver qué SQL se está ejecutando realmente. Puede encadenar ->toSql() al final de su consulta elocuente para generar el SQL.

Tengo una mesa como esta:

table - field1: tinyint - field2: varchar (nullable) - datefield: timestamp (nullable)

Ahora quiero obtener todas las entradas donde campo1 es 1, campo2 es nulo y donde el campo de fecha es más pequeño que X o nulo. Ya probé algo como esto:

$query = Model::where(''field1'', 1) ->whereNull(''field2'') ->where(''datefield'', ''<'', $date) ->orWhereNull(''datefield'');

pero eso no funciona. Siempre recibo todas las entradas donde el campo de fecha es nulo. No importa cuáles sean los otros campos. También intenté dividirlo en 2 consultas: primero obtenga cada fila donde el campo de fecha sea más pequeño que X o nulo y luego (en base a ello) obtenga cada campo donde campo1 sea 1 y campo2 sea nulo.

El resultado fue el mismo. ¿Alguna idea de cómo hacer esto?