Я не уверен, что это то, что вы хотите, но я думаю, что вы можете понять идею.
Первый метод,
Вы можете использовать аксессор ;
public function getCustomTimestampAttribute($value)
{
// you can use your logic here to set your timezone by table
$timezone = 'Europe/Sofia';
return Carbon::parse($this->custom_timestamp)->timezone($timezone)->toDateTimeString();
}
затем вы можете получить значение, например: $model->custom_timestamp
Второй метод,
Вы можете использовать map ;
$customDates = $dates->map(function ($date, $key) {
$date->custom_timestamp = Carbon::parse($date->custom_timestamp)->timezone('Europe/Sofia')->toDateTimeString();
return $date;
});
EDIT
В вашей модели (MeasCanal) установите атрибут рекордного времени;
public function getRecordtimeAttribute($value)
{
// you can use your logic here to set your timezone by table
$timezone = 'Europe/Sofia';
return Carbon::parse($this->recordtime)->timezone($timezone)->toDateTimeString();
}
, тогда вы можете просто посмотрите результат после запроса в вашем контроллере, например
dd($students);
или еще проще:
dd($students->first()->recordtime); // first matched rows recordtime attr.
Примечание: вы не можете использовать методы доступа с необработанными запросами, вам следует использовать красноречивые модели между прочим.