首页 > 解决方案 > Laravel 资源返回 null

问题描述

返回 laravel 资源是 null 但数据库有文件。这是我的资源类

class UsersResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
    'u_id' => $this->user_id,
    'u_name' => $this->user_name,
    ];
    }
}

我的路线文件在这里

Route::get('test2', function(){
    $xyx=Users::find(1);
    return new UsersResource($xyx);
});

我的回复如下

{"data":{"u_id":null,"u_name":null}}

谢谢

标签: laravellaravel-resource

解决方案


这是因为默认情况下,Users 表不包含 user_id 或 user_name 列。它是id并且name默认情况下。所以你应该像下面这样更改代码。

class UsersResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */

    public function toArray($request)
    {
        return [
           'u_id' => $this->id,
           'u_name' => $this->name,
        ];
    }
}

推荐阅读