Laravel 查询关联不为空的主表数据:使用 whereHas 方法
你可以使用`whereHas`方法来查询关联不为空的主表数据。这个方法可以接收两个参数:关联关系的名称和一个闭包函数,用来定义关联关系的查询条件。
以下是一个示例代码:
use App\Models\User;
$users = User::whereHas('posts', function($query) {
$query->whereNotNull('posts.id');
})->get();
上述代码中,`User`是主表模型,`Post`是关联的模型。通过`whereHas`方法,我们可以查询出关联不为空的`User`模型数据。在闭包函数中,我们使用`whereNotNull`方法来过滤掉关联关系为空的数据。
注意:这里假设你已经在`User`模型中定义了`posts`关联方法。如果没有定义,请在`User`模型中添加以下代码:
public function posts()
{
return $this->hasMany(Post::class);
}
这样就可以通过`$users`变量获取到关联不为空的`User`模型数据了。
原文地址: https://www.cveoy.top/t/topic/l29M 著作权归作者所有。请勿转载和采集!