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