반응형
쿼리 작성기가 타임스탬프를 삽입하지 않음
쿼리 작성기를 사용하여 모든 필드가 삽입되었지만 created_at 및 update_at와 같은 타임스탬프가 삽입되지 않는 경우 모두 기본값인 0:0:0 값이 삽입됩니다.
$id = DB::table('widgets')
->insertGetId(array(
'creator' => Auth::user()->id,
'widget_name' => $request->input('widget_name'),
'pages' => json_encode($request->input('pages')),
'domain' => $request->input('domain'),
"settings" => $settings,
));
좋아요.필드created_at
,update_at
그리고.deleted_at
의 "부분"입니다.Eloquent
. 당신이 사용.Query Builder
=> 삽입은 이 두 필드에 영향을 주지 않습니다 (created_at
그리고.updated_at
다음과 같이 수동으로 정의해야 합니다.
$id = DB::table('widgets')
->insertGetId(array(
'creator' => Auth::user()->id,
'widget_name' => $request->input('widget_name'),
'pages' => json_encode($request->input('pages')),
'domain' => $request->input('domain'),
"settings" => $settings,
"created_at" => \Carbon\Carbon::now(), # new \Datetime()
"updated_at" => \Carbon\Carbon::now(), # new \Datetime()
));
제 경우에는 제가 사용하고 있는.date('Y-m-d H:i:s');
현재 dateTime을 가져옵니다.매번 작동합니다.
$id = DB::table('widgets')
->insertGetId(array(
'creator' => Auth::user()->id,
'widget_name' => $request->input('widget_name'),
'pages' => json_encode($request->input('pages')),
'domain' => $request->input('domain'),
"settings" => $settings,
"created_at" => date('Y-m-d H:i:s'),
"updated_at" => date('Y-m-d H:i:s'),
));
또 다른 방법은 데이터베이스가 MySQL 데이터베이스라고 가정할 때 raw expression과 'CURRENT_TIMEstamp'를 값으로 사용하는 것입니다.
$now = DB::raw('CURRENT_TIMESTAMP');
$rowID = DB::table('user')->insertGetId([
'name' => $request->name,
'updated_at' => $now,
'created_at' => $now
]);
언급URL : https://stackoverflow.com/questions/33452124/query-builder-not-inserting-timestamps
반응형
'programing' 카테고리의 다른 글
word press에서 loop을 나열하는 동안 if를 단순화하는 데 도움이 됩니다. (0) | 2023.09.21 |
---|---|
mysql DATETIME 열을 epoch seconds로 변환 (0) | 2023.09.21 |
trigger mysql에서 select에서 값을 가져와 IF의 조건에 사용하는 방법 (0) | 2023.09.16 |
블록 순환 분포를 얻는 방법은? (0) | 2023.09.16 |
WordPress 퍼말링크 시스템은 어떻게 작동합니까? (0) | 2023.09.16 |