Ajax 响应中未定义全名

问题描述 投票:0回答:1

我有一个 User.php 模型。

public function getFullNameAttribute()
{
    if($this->first_name && $this->last_name) {
        return $this->first_name . ' ' . $this->last_name;
    } else {
        return $this->name;
    }
}

在blade文件中,如果我们想要获取它,我是这样写的。

{{ $user->full_name }}

但我不知道如何在 Ajax 中做到这一点。我写了下面的代码,它显示了

undefined

<strong class="f20 mb-1">`+user.full_name+`</strong>
ajax laravel
1个回答
1
投票

在 AJAX 响应中,您需要确保将

full_name
属性附加到用户模型中。将模型转换为数组或 JSON 时,Laravel 不会自动附加访问器属性。您可以通过向您的
$appends
模型添加
User
属性来完成此操作:

class User extends Authenticatable
{
    protected $appends = ['full_name'];

    public function getFullNameAttribute()
    {
        if($this->first_name && $this->last_name) {
            return $this->first_name . ' ' . $this->last_name;
        } else {
            return $this->name;
        }
    }
}

在此代码中,

$appends = ['full_name'];
告诉Laravel在将用户模型转换为数组或JSON时包含
full_name
属性。现在,
full_name
应该可以在您的 AJAX 响应中使用。

© www.soinside.com 2019 - 2024. All rights reserved.