ฉันเห็นคำถามนี้ค่อนข้างเก่า แต่ฉันพบว่ามันหาคำตอบ แม้ว่าฉันจะไม่ประสบความสำเร็จกับคำตอบที่นี่ฉันคิดว่าอาจเป็นเพราะฉันใช้PHP 7.2และLaravel 5.7 หรือเป็นไปได้เพราะฉันเพิ่งเล่นกับข้อมูลบางส่วนใน CLI โดยใช้ Laravel Tinker
ฉันมีบางสิ่งที่ฉันพยายามทำเพื่อฉันและคนอื่น ๆ ที่ไม่ได้หวังว่าจะช่วยเหลือผู้อื่น
ฉันไม่ประสบความสำเร็จในการทำงาน:
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(); // []
ทั้งหมดข้างต้นส่งคืนอาร์เรย์ว่างสำหรับฉัน
อย่างไรก็ตามฉันประสบความสำเร็จในการทำงาน:
DB::table('my_models')->whereNotNull('deleted_by')->get()->all(); // [ ... ]
สิ่งนี้ส่งคืนผลลัพธ์ทั้งหมดในอาร์เรย์ตามที่ฉันคาดไว้ หมายเหตุ: คุณสามารถดร็อปall()
และรับIlluminate \ Database \ Eloquent \ Collectionแทนอาร์เรย์ได้หากคุณต้องการ
!=
แทนไม่ได้