Laravel 查询仅上级可见数据方法详解
在 Laravel 中,您可以使用查询构建器的 'where' 方法来过滤只有上级能看到的数据。假设您有一个 'users' 表,其中有一个 'supervisor_id' 字段用于表示上级的 ID,您可以通过以下方式查询只有上级能看到的数据:
$userId = 1; // 当前用户的ID
$users = DB::table('users')
->where('supervisor_id', $userId)
->get();
这将返回一个包含只有上级能看到的用户数据的集合。请注意,上面的示例假设您使用了 Laravel 的查询构建器和数据库门面('DB')。如果您使用的是 Eloquent ORM,您可以在相应的模型中定义关联关系,并使用 'whereHas' 方法来查询只有上级能看到的数据。
class User extends Model
{
public function supervisor()
{
return $this->belongsTo(User::class, 'supervisor_id');
}
}
$userId = 1; // 当前用户的ID
$users = User::whereHas('supervisor', function ($query) use ($userId) {
$query->where('id', $userId);
})
->get();
这将返回一个包含只有上级能看到的用户数据的集合,使用 'whereHas' 方法可以确保只有存在对应的上级用户才会返回数据。
原文地址: https://www.cveoy.top/t/topic/o9oQ 著作权归作者所有。请勿转载和采集!