-1

返回 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}}

谢谢

4

2 回答 2

1

这是因为默认情况下,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,
        ];
    }
}
于 2020-08-03T06:26:03.823 回答
0

Laravel 资源只是格式化你的 Eloquent 模型。首先查看查询结果(在您的情况下为$xyx)。

dd($xyx);

正如@Alexandr-Biship 所提到的,您可能会尝试访问错误的字段。

于 2020-08-03T06:25:49.587 回答