首页 > 解决方案 > Laravel 无法更新数据 MySQL

问题描述

一切都显示在 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');

标签: phpsqldatabaselaravelcontroller

解决方案


尝试使用

$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');

确保这些字段在模型中是可填写的。


推荐阅读