Laravel资源返回null



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

class UsersResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param  IlluminateHttpRequest  $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}}

感谢

这是因为默认情况下,Users表不包含user_id或user_name列。默认情况下为idname。因此,您应该像下面这样更改代码。

class UsersResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param  IlluminateHttpRequest  $request
* @return array
*/
public function toArray($request)
{
return [
'u_id' => $this->id,
'u_name' => $this->name,
];
}
}
Laravel Resource只是格式化Eloquent模型。首先查看查询结果(在您的情况下为$xyx(。
dd($xyx);

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

最新更新