'integer', 'patient_id' => 'integer', 'doctor_id' => 'integer', 'pharmacist_id' => 'integer', 'order_inquiry_id' => 'integer', 'history_status' => 'integer', 'created_at' => 'datetime', 'updated_at' => 'datetime']; protected string $primaryKey = "history_inquiry_id"; /** * 关联医生表 */ public function UserDoctor(): HasOne { return $this->hasOne(UserDoctor::class, 'doctor_id','doctor_id'); } /** * 远程关联医生表-医院表 * @return HasOneThrough */ public function UserDoctorHospital(): HasOneThrough { return $this->hasOneThrough( Hospital::class, UserDoctor::class, "doctor_id", "hospital_id", "doctor_id", "hospital_id", ); } /** * 获取信息-单条 * @param array $params * @param array $fields * @return object|null */ public static function getOne(array $params, array $fields = ['*']): object|null { return self::where($params)->first($fields); } /** * 获取信息-多条 * @param array $params * @param array $fields * @return object|null */ public static function getList(array $params, array $fields = ['*']): object|null { return self::where($params)->get($fields); } /** * 获取信息-多条-限制条数 * @param array $params * @param array $fields * @param int $limit */ public static function getLimit(array $params, array $fields = ['*'],int $limit = 5): array { return self::where($params)->limit($limit)->get($fields)->toArray(); } /** * 获取首页用户历史问诊数据 * 限制数量 * @param array $params * @param array $fields * @param int $limit * @return Collection|array|\Hyperf\Utils\Collection */ public static function getIndexHistoryDoctorLimit(array $params, array $fields = ["*"],int $limit = 5): Collection|array|\Hyperf\Utils\Collection { return self::with([ "UserDoctor:doctor_id,user_name,avatar,hospital_id", "UserDoctor.Hospital:hospital_id,hospital_name" ]) ->where($params) ->limit($limit) ->get($fields); } /** * 获取首页用户历史问诊数据 * @param array $params * @param array $fields * @return Collection|array|\Hyperf\Utils\Collection */ public static function getIndexHistoryDoctorList(array $params, array $fields = ["*"]): Collection|array|\Hyperf\Utils\Collection { return self::with([ "UserDoctor:doctor_id,user_name,avatar,hospital_id", "UserDoctor.Hospital:hospital_id,hospital_name" ]) ->where($params) ->get($fields); } /** * 修改 * @param array $params * @param array $data * @return int */ public static function edit(array $params = [], array $data = []): int { return self::where($params)->update($data); } }