App\Transformers\UserTransformer::transform PHP Method

transform() public method

public transform ( User $user )
$user app\models\User
    public function transform(User $user)
    {
        $profileCustomization = $user->profileCustomization();
        return ['id' => $user->user_id, 'username' => $user->username, 'joinDate' => display_regdate($user), 'country' => ['code' => $user->country_acronym, 'name' => $user->countryName()], 'age' => $user->age(), 'avatarUrl' => $user->user_avatar, 'isAdmin' => $user->isAdmin(), 'isSupporter' => $user->osu_subscriber, 'isGMT' => $user->isGMT(), 'isQAT' => $user->isQAT(), 'title' => $user->title(), 'location' => $user->user_from, 'lastvisit' => json_time($user->user_lastvisit), 'twitter' => $user->user_twitter, 'lastfm' => $user->user_lastfm, 'skype' => $user->user_msnm, 'playstyle' => $user->osu_playstyle, 'playmode' => $user->playmode, 'profileColour' => $user->user_colour, 'profileOrder' => $profileCustomization->extras_order, 'cover' => ['customUrl' => $profileCustomization->cover()->fileUrl(), 'url' => $profileCustomization->cover()->url(), 'id' => $profileCustomization->cover()->id()], 'kudosu' => ['total' => $user->osu_kudostotal, 'available' => $user->osu_kudosavailable]];
    }

Usage Example

 /**
  * Get all comments of a user, paginated
  *
  * @param $user_id
  *
  * @param Request $request
  *
  * @return array
  */
 public function userComments($user_id, Request $request)
 {
     // get limit
     $limit = $request->get('limit') ?: 5;
     $limit = $limit > 5 ? 5 : $limit;
     try {
         // Get user
         $user = User::select('user_id', 'username', 'created_at')->findOrFail($user_id);
         // Get comments of user, paginated
         $comments = $user->comments()->select('comment_id', 'comment', 'created_at')->paginate($limit);
     } catch (ModelNotFoundException $e) {
         return ResponseHelper::write(404, 1001, 'The requested user does not exist.');
     }
     // Get transformer for user and user comments
     $userTransformer = new UserTransformer();
     $commentTransformer = new UserCommentTransformer();
     // Return transformed user and comments
     return ResponseHelper::withPaginationData(['user' => $userTransformer->transform($user->toArray()), 'comments' => $commentTransformer->transformCollection($comments->toArray()['data'])], $comments);
 }