getMessage()); return false; } } public static function edit(array $params): bool { try { if (isset($params['record_date'])) { $params['record_date'] = strtotime($params['record_date']); } DietRecord::update($params); return true; } catch (\Exception $e) { self::setError($e->getMessage()); return false; } } public static function delete(array $params): bool { try { DietRecord::destroy($params['id']); return true; } catch (\Exception $e) { self::setError($e->getMessage()); return false; } } public static function detail($params): array { $record = DietRecord::findOrEmpty($params['id'])->toArray(); if (!empty($record['record_date'])) { $record['record_date'] = date('Y-m-d', $record['record_date']); } return $record; } public static function getRecordsByPatient(array $params): array { try { $where = []; if (isset($params['diagnosis_id'])) { $where[] = ['diagnosis_id', '=', $params['diagnosis_id']]; } if (isset($params['patient_id'])) { $where[] = ['patient_id', '=', $params['patient_id']]; } // 如果没有诊断ID或患者ID,返回空数组 if (empty($where)) { return []; } $records = DietRecord::where($where) ->where('delete_time', null) ->order('record_date', 'desc') ->select() ->toArray(); foreach ($records as &$record) { if (!empty($record['record_date'])) { $record['record_date'] = date('Y-m-d', $record['record_date']); } } return $records; } catch (\Exception $e) { self::setError($e->getMessage()); return []; } } }