网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

軟刪除

軟刪除

版本 調整功能
5.0.2 deleteTime 屬性改為非靜態定義

在實際項目中,對數據頻繁使用刪除操作會導致性能問題,軟刪除的作用就是把數據加上刪除標記,而不是真正的刪除,同時也便于需要的時候進行數據的恢復。

要使用軟刪除功能,需要引入SoftDelete trait,例如User模型按照下面的定義就可以使用軟刪除功能:

namespace app\index\model;

use think\Model;
use traits\model\SoftDelete;

class User extends Model
{
    use SoftDelete;
    protected $deleteTime = 'delete_time';
}

5.0.2版本之前deleteTime屬性必須使用static定義。

deleteTime屬性用于定義你的軟刪除標記字段,ThinkPHP5的軟刪除功能使用時間戳類型(數據表默認值為Null),用于記錄數據的刪除時間。

可以用類型轉換指定軟刪除字段的類型,建議數據表的所有時間字段統一一種類型。

定義好模型后,我們就可以使用:

// 軟刪除
User::destroy(1);
// 真實刪除
User::destroy(1,true);
$user = User::get(1);
// 軟刪除
$user->delete();
// 真實刪除
$user->delete(true);

默認情況下查詢的數據不包含軟刪除數據,如果需要包含軟刪除的數據,可以使用下面的方式查詢:

User::withTrashed()->find();
User::withTrashed()->select();

如果僅僅需要查詢軟刪除的數據,可以使用:

User::onlyTrashed()->find();
User::onlyTrashed()->select();

如果你的模型定義了base基礎查詢,請確保添加軟刪除的基礎查詢條件。

文檔最后更新時間:2018-04-26 10:06:47

文檔
目錄

深色
模式

切換
寬度