gpt4 book ai didi

php - 在 laravel 中使用自定义软删除列

转载 作者:可可西里 更新时间:2023-11-01 12:41:58 27 4
gpt4 key购买 nike

我知道如何在 laravel 中对模型使用软删除功能。像这样:

class Flight extends Model
{
use SoftDeletes;

protected $dates = ['deleted_at'];
}

但我想为该功能使用名为 sender_deleted_at 的自定义列,其中所有相关方法如 forceDeleterestorewithTrashed 等基于该列工作。

我写了this Question但是我找不到正确的答案。

我正在使用 Laravel 5.3。

最佳答案

SoftDeletes 特性使用此代码“删除”一行:

protected function runSoftDelete() {
$query = $this->newQueryWithoutScopes()->where($this->getKeyName(), $this->getKey());
$this->{$this->getDeletedAtColumn()} = $time = $this->freshTimestamp();
$query->update([$this->getDeletedAtColumn() => $this->fromDateTime($time)]);
}

getDeletedAtColumn() 的主体是:

public function getDeletedAtColumn() {
return defined('static::DELETED_AT') ? static::DELETED_AT : 'deleted_at';
}

因此你可以这样做:

class Flight extends Model
{
use SoftDeletes;
protected $dates = ['my_deleted_at'];
const DELETED_AT = 'my_deleted_at';
}

关于php - 在 laravel 中使用自定义软删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42049726/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com