如何在 Laravel 查询中执行 IS NOT NULL

Ada*_*nga 5 php mysql laravel laravel-blade

我正在尝试执行此 SQL 语句并使用刀片引擎输出它:

" SELECT SUM(like) FROM likes WHERE post_id = ". $post->id. " AND source_id IS NOT '' "
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做,我昨天试过了,但没有成功:

{{$post->likes->where('post_id', $post->id)->where('source_id', '<>', '')->sum('like')}}
Run Code Online (Sandbox Code Playgroud)

喜欢表“属于表和帖子表。

编辑:

我正在使用 Laravel 版本5.2.45

Ale*_*nin 5

可以用whereNotNull()方法。

https://laravel.com/docs/5.3/queries#where-clauses

更新

看来$posts是一个合集。在这种情况下,您必须使用filter(). 例如:

$collection->filter(function ($item) {
    return $item['some_value'] !== null;
});
Run Code Online (Sandbox Code Playgroud)