Tôi thấy câu hỏi này hơi cũ nhưng tôi chạy qua nó để tìm câu trả lời. Mặc dù tôi không thành công với các câu trả lời ở đây nhưng tôi nghĩ điều này có thể là do tôi đang dùng PHP 7.2 và Laravel 5.7.hoặc có thể bởi vì tôi chỉ chơi xung quanh với một số dữ liệu về CLI bằng cách sử dụng Laravel Tinker.
Tôi có một số điều tôi đã cố gắng làm việc cho tôi và những người khác mà tôi không hy vọng sẽ giúp được những người khác.
Tôi đã không chạy thành công:
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(); // []
Tất cả những điều trên đã trả lại một mảng trống cho tôi
Tuy nhiên tôi đã chạy thành công:
DB::table('my_models')->whereNotNull('deleted_by')->get()->all(); // [ ... ]
Điều này trả về tất cả các kết quả trong một mảng như tôi mong đợi. Lưu ý: bạn có thể thả all()
và lấy lại Illuminate \ Database \ Eloquent \ Collection thay vì một mảng nếu bạn thích.
!=
thay vì KHÔNG.