2
當我在刀片中調用我的方法時,發生此錯誤。調用未定義的方法stdClass :: Laravel 5.3
我的模型
class User extends Authenticatable{
use Notifiable;
public function roles(){
return $this->belongsToMany('App\Role', 'user_roles', 'user_id', 'role_id');
}
public function hasAnyRole(){
if(is_array($roles)){
foreach ($$roles as $role) {
if($this->hasRole($role)){
return true;
}
}
}else{
if($this->hasRole($roles)){
return true;
}
}
return false;
}
public function hasRole($role){
if($this->roles()->where("name", $role)->first())
return true;
else
return false;
}}
然後在我的home.blade.php
@foreach($users as $user)
{{ $user->hasRole("Admin") }}
<tr>
<form action="{{ route("admin.assignrole") }}" method="get" accept-charset="utf-8">
{{ csrf_field() }}
<td>{{ $user->name }}</td>
<td>{{ $user->email }}</td>
<td><input type="checkbox" name="admin" value="admin"></td>
<td><input type="checkbox" name="cultura" value="cultura"></td>
<td><input type="checkbox" name="opinion" value="opinion"></td>
<td><button type="button" class="btn btn-primary">Asignar</button></td>
</form>
</tr>
@endforeach
但i'm越來越: 「FatalErrorException在4ec2afb0bd7b9558404eeeb89a6d9200e0c5639a.php線18: 調用未定義的方法stdClass的:: hasRole()「
我不知道爲什麼;
因爲'$ users'中的元素顯然不是'User'類的實例,而是'StdClass'的實例。 – CBroe
非常感謝您的快速回答! 其我的第一個proyect惠特laravel,我正在學習 有一個簡單的方法來獲取我的用戶實例? 謝謝! –