【问题标题】:How to obtain the polymorphic relationship of a model, return null Laravel 5.6如何获取模型的多态关系,返回null Laravel 5.6
【发布时间】:2019-01-25 16:18:41
【问题描述】:

我有一个包含用户名和密码访问数据的 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 }}

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    听起来好像没有为用户模型设置角色。检查数据库并确保 roleable_id 和 roleable_type 在其中有值。

    【讨论】:

      【解决方案2】:

      您收到的错误表明该用户尚未与 roleable 模型关联。

      【讨论】:

        猜你喜欢
        • 2019-01-12
        • 2018-12-12
        • 2016-02-29
        • 1970-01-01
        • 2017-01-26
        • 2020-07-31
        • 2014-10-15
        • 2012-11-26
        • 2019-07-24
        相关资源
        最近更新 更多