UserTransformer.php 2.3 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 数据转换层: 用户 转换类
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Transformers\User
 * @package   App\Transformers\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2020年12月28日10:48:57
 * @copyright 2021-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Transformers\User;

use App\Models\User\Role;
use App\Models\User\User;
use App\Transformers\BaseTransformer;

/**
 * Class UserTransformer.
 *
 * @category  App\Transformers\User
 * @package   App\Transformers\User
 * @author    Richer <yangzi1028@163.com>
 * @date      2020年12月28日10:48:57
 * @copyright 2021-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
class UserTransformer extends BaseTransformer
{
    /**
     * Transform the User entity.
     *
     * @param User $model
     *
     * @return array
     */
    public function transform(User $model)
    {
        return  [
            'id'            => (int) $model->id,
            'username'      => (string)$model->username,
            'name'          => (string)$model->name,
            'nickname'      => (string)$model->nickname,
            'avatar'        => (string)$model->avatar,
            'mobile'        => (string)$model->mobile,
            'gender'        => (int)$model->gender,
            'gender_show'   => (string)$model->gender_show,
            'times'         => (int)$model->times,
            'status'        => (int)$model->status,
            'status_show'     => (string)$model->status_show,
            'last_login_ip' => (string)$model->last_login_ip,
            'login_times'   => (int)$model->login_times,
            'last_login_time'    => format_date($model->last_login_time),
            'invite_qr_code'        => (string)$model->invite_qr_code,
            'registered_at'    => format_date($model->registered_at),
            'created_at'    => format_date($model->created_at),
            'updated_at'    => format_date($model->updated_at),
        ];
    }
}