laravel如何设置$timestamps的update_at指定自定义字段
时间: 2024-02-24 15:55:59 浏览: 25
在 Laravel 中,如果你想要自定义 `updated_at` 字段,可以在对应的模型中定义 `const UPDATED_AT` 常量来指定字段名。例如:
```php
class YourModel extends Model
{
const UPDATED_AT = 'your_updated_at';
}
```
这样,当你更新模型时,Eloquent 将会使用 `your_updated_at` 字段来记录更新时间。
需要注意的是,如果你同时使用了 `created_at` 和 `updated_at`,那么 `created_at` 字段的自定义设置方式与 `updated_at` 相同,只需在模型中定义 `const CREATED_AT` 常量即可。
```php
class YourModel extends Model
{
const CREATED_AT = 'your_created_at';
const UPDATED_AT = 'your_updated_at';
}
```
这样,当你创建模型时,Eloquent 将会使用 `your_created_at` 字段来记录创建时间,使用 `your_updated_at` 字段来记录更新时间。
需要注意的是,如果你使用了自定义的时间戳字段,例如 `your_created_at` 和 `your_updated_at`,那么在数据库迁移时也需要对应地设置字段类型和默认值。例如:
```php
Schema::create('your_table', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamp('your_created_at')->nullable()->default(DB::raw('CURRENT_TIMESTAMP'));
$table->timestamp('your_updated_at')->nullable()->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP'));
});
```
这样,就可以在 Laravel 中自定义 `updated_at` 字段了。