Имя столбца псевдонима Laravel в модели Eloquent - PullRequest
0 голосов
/ 05 апреля 2019

Как можно создать псевдоним имени столбца в модели?Я хотел бы показать idUser вместо идентификатора в ответах API.До сих пор я пробовал следующее.

protected $maps = [
    'id' => 'idUser',
];

protected $visible = [
    'idUser'
];

protected $appends = [
    'idUser'
];

Это дает мне ошибку:

'Вызов неопределенного метода App \ User :: getIdUserAttribute ()'

Кроме того, я хотел бы создать псевдоним made_at и updated_at для созданного At и updated At. * ​​1011 *

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

вы можете определить метод доступа в вашей модели следующим образом:

public function getUserIdAttribute($)
{
    return $this->id;
}

, а затем вам необходимо добавить имя атрибута в массив $appends

protected $appends = ['user_id'];

для получения более подробной информации.оформить заказ документы

https://laravel.com/docs/5.8/eloquent-mutators

0 голосов
/ 05 апреля 2019

Как комментарий @ Namoshek, вы должны иметь возможность вернуть пользовательские псевдонимы для каждого столбца, переименовав его.

Сначала найдите, какой маршрут вы хотите редактировать в папке routes/api.php. Вы можете использовать функцию обратного вызова или контроллер для управления ответом.

// routes/api.php
Route::middleware('auth:api')->get('auth/retrieve-user', function(Request $request) {
    $user = Auth::user();

    return response()
        ->json([
            'userId' => $user->id,
            'createdAt' => $user->created_at,
            'updatedAt' => $user->updated_at,
        ]);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...