Laravel Ресурсы Возвращаются null - PullRequest
0 голосов
/ 03 августа 2020

Возвращаемый ресурс 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}}

спасибо

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Это потому, что таблица 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,
        ];
    }
}
0 голосов
/ 03 августа 2020

Laravel Resource просто форматирует вашу Eloquent Model. Сначала проверьте результат запроса (в вашем случае $xyx).

dd($xyx);

Как упоминалось @ Alexandr-Biship, вы можете попытаться получить доступ к неправильному полю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...