que plantillas motor index for entre diferencias descargar content ciclo laravel eloquent

laravel - plantillas - Elocuente: donde no es igual a



laravel tags (3)

Para where field not empty esto funcionó para mí:

->where(''table_name.field_name'', ''<>'', '''')

Actualmente estoy usando la última versión de Laravel.

He intentado las siguientes consultas:

Code::where(''to_be_used_by_user_id'', ''<>'' , 2)->get() Code::whereNotIn(''to_be_used_by_user_id'', [2])->get() Code::where(''to_be_used_by_user_id'', ''NOT IN'', 2)->get()

Idealmente, debería devolver todos los registros excepto user_id = 2 , pero devuelve una matriz en blanco. ¿Cómo abordo esto?

Code::all()

Esto devuelve los 4 registros.

Modelo de código:

<?php namespace App; use Illuminate/Database/Eloquent/Model; class Code extends Model { protected $fillable = [''value'', ''registration_id'', ''generated_for_user_id'', ''to_be_used_by_user_id'', ''code_type_id'', ''is_used'']; public function code_type() { return $this->belongsTo(''App/CodeType''); } }


Si bien esto parece funcionar

Code::where(''to_be_used_by_user_id'', ''!='' , 2)->orWhereNull(''to_be_used_by_user_id'')->get();

no debe usarlo para tablas grandes, porque como regla general "o" en su cláusula where está deteniendo la consulta para usar index. Pasará de "Búsqueda de clave" a "exploración de tabla completa"

En cambio, prueba Union

$first = Code::whereNull(''to_be_used_by_user_id''); $code = Code::where(''to_be_used_by_user_id'', ''!='' , 2) ->union($first) ->get();


Use where con a != Operator en combinación con whereNull

Code::where(''to_be_used_by_user_id'', ''!='' , 2)->orWhereNull(''to_be_used_by_user_id'')->get()