Добавить условные данные в Laravel's Transformer - PullRequest
0 голосов
/ 08 октября 2019

Допустим, у меня есть UserTransformer. Он используется для отображения данных в профиле пользователя (частном), а также в списке пользователей. Теперь я хочу условно вернуть эти данные. Если я пользователь, то верни все. Если нет, просто верните основные данные. Какой правильный способ сделать это? Могу ли я достичь этого с помощью условной функции включения и добавить чувствительные_данные, если запрашивающий пользователь является владельцем?

1 Ответ

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

Если вы используете Fractal, примерно так:

class UserTransformer extends TransformerAbstract
{
    public function transform(User $user)
    {
        $data = [
            'id' => $user->id,
            'name' => $user->name,
            'email' => $user->email,
        ];

        if (Auth::id() === $user->id) {
          $data = array_merge($data, User::getSensitiveData($user));
        }

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