У меня есть модель VitalSignSet:
class VitalSignSet extends Model
{
protected $dates = [
'datetimetaken',
];
. . .
}
Теперь в моей функции есть эта функция, которая возвращает встречу в кодировке json с последним набором показателей жизнедеятельности. (Encounter имеет отношение hasMany с VitalSignSet) Однако перед возвратом я хотел бы, чтобы поле datetimetaken
было отформатировано для удобства чтения человеком, но только для этого конкретного метода. (поэтому я не использовал аксессоры)
public function get(Request $request, Encounter $encounter) {
// Setting the latest vital sign set
$encounter->latest_vitals = $encounter->VitalSignSets()
->orderBy('datetimetaken','desc')->get()->first();
// Formatting the date :
// Works when just returning the date.
// Does not return in this format when returning the model with the date.
$encounter->lastest_vitals->datetimetaken->format('M j, Y');
return $encounter->toJson();
}
Вышеупомянутый метод доступен из запроса js ajax. Когда я анализирую и регистрирую ответ, формат даты и времени не изменился. (все еще в формате YYYY-mm-dd H:i:s
) Но когда я возвращаю только $encounter->latest_vitals->datetimetaken;
после форматирования, возвращается строка с форматом, который я установил. Но когда я возвращаю содержащую VitalSignSet модель $encounter->latest_vitals;
(ответ json), формат будет в YYYY-mm-dd
. Это почему?