【发布时间】:2018-05-30 18:51:29
【问题描述】:
我正在尝试连接由特定用户角色使用的公司。具有特定角色的用户可以为多家公司“工作”。一家公司可以“雇佣”多个用户。我有 5 个表(用户、角色用户、角色、公司和公司用户)
模型关系:
App\User:
public function roles()
{
return $this
->belongsToMany('App\Role')
->withTimestamps();
}
public function companies()
{
return $this
->belongsToMany('App\Company')
->withTimestamps();
}
App\Role:
public function users()
{
return $this
->belongsToMany('App\User')
->withTimestamps();
}
App\Companies:
public function users()
{
return $this->belongsToMany('App\User'); // with user_role ??
}
公司控制人
public function edit(Request $request, $id) {
$company = Company::findOrFail($id);
$users = User::where('role_id',4)->pluck('username')->all(); // no role_id column
$users = User::pluck('username','id')->all(); // returns all users
return view('companies.edit', compact(['company','users']));
}
public function update(Request $request, $id) {
/* TODO */
}
编辑视图
{!! Form::select('users[]', $users, null, ['class' => 'form-control', 'multiple' => 'multiple']) !!}
我想将具有特定用户角色的用户分配给这些公司。有没有办法设置关系或范围?
奖金问题 :) 有没有一种简单的方法可以在下拉列表中显示连接值?名字 + 姓氏而不是用户名?
【问题讨论】:
标签: php laravel-5.4 dropdown has-and-belongs-to-many