ActivityTransformer.php 2.1 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 数据转换层: Activity 转换类
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Transformers\Activity
 * @package   App\Transformers\Activity
 * @author    Richer <yangzi1028@163.com>
 * @date      2022年11月2日17:24:39
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Transformers\Activity;

use App\Models\Activity\Activity;
use App\Transformers\BaseTransformer;

/**
 * Class ActivityTransformer
 *
 * @package App\Transformers
 */
class ActivityTransformer extends BaseTransformer
{
    /**
     * Transform the Activity entity.
     *
     * @param Activity $model
     *
     * @return array
     */
    public function transform(Activity $model)
    {

        $output =  [
            'id'            => (int) $model->id,

            /* place your other model properties here */
            'type'          => (int) $model->type,
            'title'         => (string)$model->title,
            'body'          => (string)$model->body,
            'address'       => (string)$model->address,
            'description'   => (string)$model->description,
            'cover_image'   => $model->cover_image,
            'images'        => $model->images,
            'start_date'    => format_date($model->start_date, 'Y-m-d'),
            'end_date'      => format_date($model->end_date, 'Y-m-d'),
            'quota'         => (int)$model->quota,
        ];

        return $this->setOutputFields($output, $model);
    }

    /**
     * 设置 专用字段
     *
     * @param $return
     * @param $model
     */
    public function setSpecialFields(&$return, $model)
    {
        // 设置专用字段
        $return['enrolled_quota']  = (int)$model->enrolled_quota;
        $return['remaining_quota']  = (int)$model->remaining_quota;
        $return['type_show']  = (string)$model->type_show;
    }
}