我有一个users表,其中包含用户名和密码访问数据,但是该表尝试转换多态关系,因为该访问可以属于不同的模型model1,model2等。
迁移表用户
$table->unsignedInteger('roleable_id');
$table->string('roleable_type');
模型用户
public function roleable()
{
return $this->morphTo();
}
public function getFullNameAttribute()
{
return $this->roleable->attributes['lastname'] . ' ' .
$this->roleable->attributes['name'];
}
其他型号
public function rol()
{
return $this->morphOne(App\User::class,'roleable');
}
我试图通过用户访问模型数据,但是我总是返回错误,
试图获取非对象的属性“属性”(查看:
我在做什么错或者方法错误?
查看
{{ auth()->user()->full_name }}
答案 0 :(得分:1)
听起来好像没有为用户模型设置角色。检查数据库,并确保roleable_id和roleable_type中包含这些值。
答案 1 :(得分:1)
您收到的错误提示该用户尚未与roleable
模型关联。