我有用户和区域模型,我想从用户类型的主管那里得到一些区域模型.下面是我如何定义这种关系.

public function regional()
{
    return $this->belongsTo(Regional::class);
}

/**
 * Get all user that belongs to this supervisor
 *
 * @return mixed
 */
public function amOfSupervisor()
{
    return $this->hasMany(User::class, 'supervisor_id');
}

我可以通过$user->regional获得用户的区域,但是如何基于属于该用户的用户获得所有区域?我试过hasManyThrough(),但总是出错.怎么了,我该怎么办?

public function RegionalSV()
{
    return $this->hasManyThrough(Regional::class, 
        User::class,'supervisor_id', 'regional_id');
}

推荐答案

当项目有环境且环境有偏差时,有许多粗略的用途

hasManyThrough( departement::class,Environment::class,'project_id','Environment_id','id','id') 

所以你有很多用户,每个用户都属于区域

你能行

 Regional::whereExists(function($query){
$query->selectRaw('1')->from('users')->whereColumn('users.regional_id','regionals.id')
->where('users.supervis或_id',$this->id);
})->get()

Regional::join(self::class,'users.regional_id','=','regionals.id')
->where('users.supervis或_id',$this->id)->get();

Laravel相关问答推荐

为什么只删除了最后一个Like,而没有删除选中的?

Livewire 3分页在点击后不更新页面

不能在 laravel 中使用控制器名称,必须使用命名空间

Laravel 5.1 - 如何在进度条上设置消息

Laravel 5表单请求验证返回禁止错误

Heroku 上的 Laravel 队列工作者

Laravel Request::input 调用未定义的方法

Laravel 4 定义 RESTful 控制器

如何在同一行显示 Laravel artisan 命令输出?

Database[] 未配置 Laravel 5

Laravel 5.4 有时验证规则不起作用

安装后在 Lumen 中找不到页面

Class类 App\Http\Controllers\Auth\Request 不存在.

如何在 Laravel 中使用补丁请求?

如何在 Laravel 5.2 中使用 OR 条件将多个参数传递给中间件

Eloquent 模型不更新 updated_at 时间戳

在我的编辑器中管理上传文件的最佳方式?

如何判断是否连接到 Laravel 4 中的数据库?

没有Access-Control-Allow-Origin标头 - Laravel

找不到 HOME 环境 -- 扩展 `~'