【发布时间】:2019-08-29 19:26:48
【问题描述】:
我在我的 laravel 项目中使用 Zizaco/entrust 角色,我想按目标 ID 为用户使用下拉列表,并且用户具有角色员工。 错误
方法 Illuminate\Database\Eloquent\Collection::hasRole 没有 存在。
public function show($id)
{
$users_list = User::all();
$asiTo=Contracts::find($id)
->where('contracts.id',$id)
->join('users','contracts.condesid','users.des_id')
->join('roles','users.id',$users_list->hasRole('staff'))
->select('users.*')
->get();
return view('admin.contracts.show', compact('asiTo'));
}
用户类
class User extends Authenticatable
{
use Notifiable, EntrustUserTrait;
public function role()
{
return $this->hasOne('App\Role');
}
}
角色类
class Role extends EntrustRole
{
public function user()
{
return $this->belongsTo(User::class);
}
}
刀片:
<select class="form-control custom-select-value" name="assigto" required="required">
<option value="">Select User </option>
@foreach($asiTo as $user)
<option value="{{$user->id}}"> {{$user->name}}</option>
@endforeach
</select>
【问题讨论】:
-
您的查询在哪里结束?没有
;。 -
你能更详细地解释一下这段代码的作用吗?
-
@Jerodev 对不起,我更新了问题
-
此问题与同一用户的another question密切相关。
-
@JorisJ1 是的,这是我的问题,我还没有找到解决办法