В Laravel с БД в Postgres.Таблица пользователей хранится с created_at
и updated_at.Оба столбца имеют метку времени с часовым поясом в качестве своего типа данных.Поэтому при хранении данных по умолчанию postgres сохраняет временную метку по умолчанию с часовым поясом.Но когда я пытаюсь получить доступ к creat_at или конвертировать извлеченные данные в массив, используя ->toArray()
, это даст
InvalidArgumentException {#312 ▼
#message: "Trailing data"
#code: 0
#file: "/var/www/html/wallet-admin/vendor/nesbot/carbon/src/Carbon/Carbon.php"
#line: 910
trace: {▶}
}
Я уже пробовал с установкой формата даты в пользовательском модальном режиме
protected $dateFormat = 'Y-m-d H:i:s';
Но когда япытался обновить данные этой модели, затем он также выдает ошибку выше.
protected $dateFormat = 'Y-m-d H:i:s';
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function getDateFormat()
{
return 'U';
}
public function getCreatedAtAttribute($attr){
return Carbon::parse($attr)->format('Y-m-d H:i:s');
}
$user = User::select('*')->where('id',$id)->first();
//dd($user->toArray()); // This also give above error
$user->first_name = trim($request->first_name);
$user->last_name = trim($request->last_name);
$user->username = trim($request->username);
$user->email = trim($request->email);
$user->user_type = $request->user_type;
$user->status = isset($request->status)?1:0;
$user->save();
Данные не обновляются из-за вышеуказанного результата.Пожалуйста, помогите с этим.Спасибо