Как вернуть данные api (fractal) из таблицы полей заданных по умолчанию значений? - PullRequest
2 голосов
/ 01 октября 2019

Я хочу вернуть данные для аватара по умолчанию из таблицы полей, я устанавливаю значение поля как default.png , когда я возвращаю данные, покажите нулевое значение, что я могу сделать?

public function register(Request $request, User $user){
    $this->validate($request, [
        'fullname'  => 'required',
        'company'   => 'required',
        'email'     => 'required|email|unique:users',
        'password'  => 'required|min:8',
        'referall'  => 'required'
    ]);

    $user = $user->create([
        'fullname'  => $request->fullname,
        'company'   => $request->company,
        'email'     => $request->email,
        'password'  => bcrypt($request->password),
        'api_token' => bcrypt($request->email),
        'id_role'   => 2,
        'referall'  => $request->referall
    ]);

    $response = fractal()
        ->item($user)
        ->transformWith(new UserTransformer)
        ->addMeta([
            'token' => $user->api_token,
            'avatar' => $user->avatar,
        ])
        ->toArray();

    return response()->json($response, 201);
}

Таблица полей для аватара
Return API

1 Ответ

1 голос
/ 01 октября 2019

Вы передаете значение (хотя NULL, которое является допустимым значением) в строку, чтобы оно отображалось как NULL. Измените его на:

$response = fractal()
    ->item($user)
    ->transformWith(new UserTransformer)
    ->addMeta([
        'token' => $user->api_token,
        'avatar' => $user->avatar ?? 'default.png',
    ])
    ->toArray();

Значения по умолчанию используются только в том случае, если значение пропущено, а не когда NULL передается как значение.

Материал для чтения

Нулевой оператор объединения

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