Vejo que essa pergunta é um pouco antiga, mas eu a encontrei procurando uma resposta. Embora eu não tenha tido sucesso com as respostas aqui, acho que isso pode ser porque eu estou no PHP 7.2 e no Laravel 5.7. ou possível, porque eu estava apenas brincando com alguns dados na CLI usando o Laravel Tinker.
Tenho algumas coisas que tentei que funcionaram para mim e outras que, espero, não ajudarão outras pessoas.
Não tive sucesso:
MyModel::whereNotNull('deleted_by')->get()->all(); // []
MyModel::where('deleted_by', '<>', null)->get()->all(); // []
MyModel::where('deleted_by', '!=', null)->get()->all(); // []
MyModel::where('deleted_by', '<>', '', 'and')->get()->all(); // []
MyModel::where('deleted_by', '<>', null, 'and')->get()->all(); // []
MyModel::where('deleted_by', 'IS NOT', null)->get()->all(); // []
Todas as opções acima retornaram uma matriz vazia para mim
No entanto, tive sucesso:
DB::table('my_models')->whereNotNull('deleted_by')->get()->all(); // [ ... ]
Isso retornou todos os resultados em uma matriz como eu esperava. Nota: você pode soltar all()
e recuperar um Illuminate \ Database \ Eloquent \ Collection em vez de uma matriz, se preferir.
!=
vez de NÃO É.