資料庫資料刪除有些資料肯定不是真的從資料庫裡面直接刪除,這時候就會用到假刪除。
1、首先在模型中要使用SoftDeletestrait
,該trait
為軟刪除提供一系列相關方法,具體可參考原始碼Illuminate\Database\Eloquent\SoftDeletes
,此外還要設定$date
屬性陣列,將deleted_at
置於其中:
<?php
namespace App\Model\Backend;
use App\Http\Response;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Request;
class User extends Model
{
use SoftDeletes;
protected $table = 'users'; //表名
protected $primaryKey = 'id'; //主鍵
protected $datas = ['deleted_at'];
2、向資料庫中的相應資料表新增 delete_at
欄位, 執行下面命令生成遷移檔案
php artisan make:migration add_deleted_at_to_users_table --table=users
php artisan migrate //執行遷移檔案
3、在Model
檔案裡面執次下面操作即可
<?php
namespace App\Model\Backend;
use App\Http\Response;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Request;
class User extends Model
{
use SoftDeletes;
protected $table = 'users'; //表名
protected $primaryKey = 'id'; //主鍵
protected $datas = ['deleted_at'];
public static function delete()
{
self::whereIn('id', $ids)->delete(); //刪除使用者
withTrashed() 顯示所有資料
onlyTrashed() 顯示刪除數所
restore()還原資料
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結