Laravelで手動でタイムスタンプを挿入する方法


  1. レコードの作成時にタイムスタンプを挿入する場合:
use Carbon\Carbon;
$now = Carbon::now();
DB::table('table_name')->insert([
    'column1' => 'value1',
    'column2' => 'value2',
    'created_at' => $now,
    'updated_at' => $now,
]);

上記の例では、Carbonパッケージを使用して現在の日時を取得し、created_atupdated_atカラムに同じ値を挿入しています。

  1. レコードの更新時にタイムスタンプを挿入する場合:
use Carbon\Carbon;
$now = Carbon::now();
DB::table('table_name')
    ->where('id', $recordId)
    ->update([
        'column1' => 'new_value1',
        'column2' => 'new_value2',
        'updated_at' => $now,
    ]);

上記の例では、updateメソッドを使用して指定されたIDのレコードを更新し、updated_atカラムに現在の日時を挿入しています。

また、Eloquentモデルを使用する場合は、timestampsプロパティをfalseに設定することでタイムスタンプの自動挿入を無効にすることもできます。

class YourModel extends Model
{
    public $timestamps = false;
    // ...
}

このようにすると、新しいレコードの作成および更新時に自動的にタイムスタンプが挿入されなくなります。

以上が、Laravelで手動でタイムスタンプを挿入する方法です。必要に応じてこれらのコード例を使用して、データベーステーブルのレコードにタイムスタンプを追加できます。