你如何检查“如果不是空”与雄辩?
你如何检查一个字段是不是空的与雄辩?
我试过Model::where('sent_at', 'IS NOT', DB::raw('null'))->...
但它IS NOT
作为绑定而是比较。
这就是DB::getQueryLog()
所说的:
'query' => string 'select * from my_table where sent_at = ? and profile_id in (?, ?) order by created_at desc' (length=101) 'bindings' => array (size=3) 0 => string 'IS NOT' (length=6) 1 => int 1 2 => int 4
雄辩有一个方法(Laravel 4. / 5 );
Model::whereNotNull('sent_at')
Laravel 3:
Model::where_not_null('sent_at')
如果像我这样的人想用Laravel 5.2.23中的查询生成器来完成,可以像 – >一样完成
$searchResultQuery = Users::query(); $searchResultQuery->where('status_message', '<>', '', 'and'); // is not null $searchResultQuery->where('is_deleted', 'IS NULL', null, 'and'); // is null
或者在范围内:
public function scopeNotNullOnly($query){ return $query->where('status_message', '<>', ''); }
如果你想使用数据库门面 :
DB::table('table_name')->whereNotNull('sent_at')->get();
在laravel 5.4这个代码Model :: whereNotNull('column')不工作,你需要添加get()像这样一个Model :: whereNotNull('column') – > get(); 这一个适合我:)
我们可以用
Model::whereNotNull('sent_at');
要么
Model::whereRaw('sent_at is not null');
如果要search删除的logging(软删除logging),请不要使用用户雄辩模型查询。 而是使用Db :: table查询而不是使用下面的代码:
$stu = Student::where('rollNum', '=', $rollNum . '-' . $nursery)->first();
使用:
$stu = DB::table('students')->where('rollNum', '=', $newRollNo)->first();