Appointment.php 1.3 KB
<?php

namespace app\api\model;

use think\Model;

/**
 * 预约模型
 */
class Appointment extends Model
{
    // 开启自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';
    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';
    // 追加属性
    protected $append = [];

    // 用户
    public function user(){
        return $this->belongsTo('User');
    }

    // 医生
    public function doctor(){
        return $this->belongsTo('Doctor');
    }

    // 服务种类列表
    public function getDeptListAttr($value,$data){
        return Dept::where('id','in',$data['dept_ids'])->field('id,name')->select();
    }

    // 诊断时间
    public function getDiagnoseTimeAttr($value,$data){
        $diagnose_time = [];
        if($data['status'] == '2'){
            $last_time = time() - $value;
            $diagnose_time = [
                'hours' => floor($last_time / 3600),
                'minutes' => floor($last_time / 60) % 60,
                'seconds' => $last_time % 60
            ];
        }
        return $diagnose_time;
    }

    // 评价
    public function appraise(){
        return $this->hasOne('AppointmentAppraise');
    }

    // 预约日期
    public function getDateAttr($value,$data){
        return date('Y-m-d H:i',$data['date_time']);
    }
}