在 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' 方法可以确保只有存在对应的上级用户才会返回数据。

Laravel 查询仅上级可见数据方法详解

原文地址: https://www.cveoy.top/t/topic/o9oQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录