如何修复Laravel资源在刀片视图中无法正常工作?

q5lcpyga  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(131)

我很困惑为什么在刀锋文件中无法访问铸造 prop 。当我试着在控制器中检查它时,它显示正确。
下面是浏览器中显示的JSON:return $users;(此处status为字符串)

但是当我试图在视图中显示它时,状态返回到原始值int

@foreach ($users as $user)
  <h1>{{ $user->status }}</h1>
@endforeach

而当我尝试在刀片视图中dd时,它显示的是原始模型值。
以下是我的资源文件(缩短版):

public function toArray($request)
{
    return [
        'status' => StatusEnum::value($this->status),
        ...
    ];
}

下面是我的控制器看起来像:

public function index()
{
    $record = User::all();
    $users = UserResource::collection($record);

    return view('pages.user.index', compact('users'));
}

我已经尝试了其他相关QA的解决方案,例如->resolve(),但无法正常工作。

dwbf0jvd

dwbf0jvd1#

确保用户模型没有getStatusAttribute()函数,如果它返回相关模型,也没有status()
请记住,这可能是由于用户模型中继承或导入的类和特征造成的

相关问题