Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel删除或更新不';行不通_Php_Mysql_Laravel 4 - Fatal编程技术网

Php Laravel删除或更新不';行不通

Php Laravel删除或更新不';行不通,php,mysql,laravel-4,Php,Mysql,Laravel 4,我有一个小问题。。。 我有一个从表中获取所有值的代码 当诽谤“expire”小于time()函数时,我想删除或更新表的值 我住在UTC+1时区,但还好 我想首先更新“deleted_at”表,以获取数据库中的所有数据 那么我该怎么做呢 如果执行删除查询: $del = DB::table('event')->where('expire', '<', $time)->delete(); $del=DB::table('event')->where('expire',”问题可能是

我有一个小问题。。。 我有一个从表中获取所有值的代码

当诽谤“expire”小于time()函数时,我想删除或更新表的值

我住在UTC+1时区,但还好

我想首先更新“deleted_at”表,以获取数据库中的所有数据

那么我该怎么做呢

如果执行删除查询:

$del = DB::table('event')->where('expire', '<', $time)->delete();

$del=DB::table('event')->where('expire',”问题可能是
time()
返回自1970年以来已过去的秒数,而不是时间戳。(我假设您的DB列为)

我建议您使用
Carbon
(Laravel使用的日期库)

$now=Carbon::now();

$del=DB::table('event')->其中('expired'),“多亏了lukasgeiter,我找到了正确的解决方案,这就是解决方案:

$del = DB::table('event')->where('expire', '<', $time)->where('deleted_at', 'IS NULL')->update(['deleted_at' => $time]);

$del=DB::table('event')->where('expire'),'It work,但是我的表一直在更新,所以我想添加一个参数,表示如果在处删除的表仍然为NULL,那么它们可以更新,否则就不能更新……所以现在我有了:$del=DB::table('event')->where('expire','
$now = Carbon::now();
$del = DB::table('event')->where('expired', '<', $now)->whereNull('deleted_at')->update(['deleted_at' => $now]);
$del = DB::table('event')->where('expire', '<', $time)->where('deleted_at', 'IS NULL')->update(['deleted_at' => $time]);