약간의 문제가 있습니다. 테이블에서 모든 값을 가져 오는 코드가 있습니다.
calumn 'expire'가 time () 함수보다 작을 때 테이블 값을 삭제하거나 업데이트하고 싶습니다.
저는 UTC +1 시간대에 살고 있지만 괜찮습니다 ...
먼저 데이터베이스에있는 모든 데이터를 가져 오기 위해 'deleted_at'테이블을 업데이트하고 싶습니다.
그래서 어떻게 할 수 있습니까?
삭제 쿼리를 수행하는 경우 :
$del = DB::table('event')->where('expire', '<', $time)->delete();
작동하지 않습니다 ...
하여 저를 (어쩌면 도와주십시오 UPDATE의 현재 타임 스탬프에 deleted_at 테이블을 업데이트하는 쿼리를?
도와 주셔서 감사합니다!
문제는 아마도 time()
타임 스탬프가 아니라 1970 년 이후 지난 초 를 반환하는 것입니다 . (당신의 db 열이 있다고 가정합니다)
나는 당신이 사용하는 것이 좋습니다 Carbon
(라 라벨이 사용하는 날짜 라이브러리)
$now = Carbon::now();
$del = DB::table('event')->where('expired', '<', $now)->delete();
또는 일시 삭제의 경우 :
$now = Carbon::now();
$del = DB::table('event')->where('expired', '<', $now)->whereNull('deleted_at')->update(['deleted_at' => $now]);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다