Laravel / SQL: donde la columna es igual a NOT y NULL

LARAVEL 5.4 (pero probablemente es una pregunta SQL más general)

¡Hola! Tengo una tabla con una estructura:

Supongamos que es mi modelo 'Table'.

Quiero una consulta que:

uses (recibe) variables:

$ id of array ['id', 'string', integer]

donde la cadena es '<' o '>'

$ status_not_bad = bool;

(si es verdadero, incluya todas las filas donde 'status'! == 'bad' AND 'status' IS NULL);

por ejemplo, se nos da:

$id = [['id', '>', 0]];

$status_not_bad = true;

Table::thisquery() ... ->get();

"obtener filas donde el estado no es malo e id> 0" devuelve las filas 1 y 3.

pero si le damos:

$id = [['id', '<', 3]];

$status_not_bad = true;

Table::thisquery() ... ->get();

"obtener filas donde el estado no es malo e id <3" devuelve la fila 1

(debería ser la misma consulta que devuelve esos resultados usando esas variables).

Respuestas a la pregunta(3)

Su respuesta a la pregunta