Laravel не может обновить данные MySQL - PullRequest
0 голосов
/ 23 октября 2019

Все отображается прямо в dd, но ничего не изменилось в таблице. Кто-нибудь знает почему?

$name = $request->get('name');
$now= new DateTime;
$userId = Auth::id();

dd($name . $userId); //tady je to ještě OK

DB::table('users')->where('id', $userId)->where('changed_name', '<', Carbon::now()->subdays(60)->toDateTimeString())->update(['name' => $name, 'changed_name' => $now]);

return redirect('/profile');

Ответы [ 3 ]

0 голосов
/ 23 октября 2019

Попробуйте использовать

$name = $request->get('name');
$now= date('Y-m-d H:i:s');
$userId = Auth::id();
dd($name . $userId); //tady je to ještě OK
DB::table('users')->where('id', $userId)->where('changed_name', '<', date('Y-m-d H:i:s', strtotime('-30 days')))->update(['name' => $name, 'changed_name' => $now]);
OR
DB::table('users')->where('id', $userId)->where('changed_name', '<', date('Y-m-d H:i:s', strtotime('-1 month')))->update(['name' => $name, 'changed_name' => $now]);

return redirect('/profile');

Убедитесь, что эти поля заполняются в модели.

0 голосов
/ 23 октября 2019
  1. Убедитесь, что changed_name в массиве $fillable в users модели.
  2. Соответствует формату changed_name с получением текущего времени
0 голосов
/ 23 октября 2019

Убедитесь, что имя и changed_name указаны в $fillable array в users модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...