首頁  >  文章  >  php框架  >  laravel5.4中軟刪除是什麼

laravel5.4中軟刪除是什麼

WBOY
WBOY原創
2022-06-01 16:09:461873瀏覽

在「Laravel5.4」中,軟刪除指的是將表記錄的狀態標記上刪除狀態,並不是真正的從資料庫中刪除了,這樣在查詢的時候就可以添加過濾;軟刪除能夠在表中以「deleted_at」欄位值進行標識,預設值為null。

laravel5.4中軟刪除是什麼

本文操作環境:Windows10系統、Laravel5.4版、Dell G3電腦。

laravel5.4中軟刪除是什麼

軟刪除並不是真的從資料庫中刪除掉了, 而是在表中以deleted_at(這個字段的名稱也是固定的)這個字段值標識的, 需要在設計表的時候呢添加這個字段deleted_at, 默認值為null, 

所謂軟刪除指的是數據表記錄並未真的從數據庫刪除,而是將表記錄的標識狀態標記為軟刪除,這樣在查詢的時候就可以加以過濾,讓對應表記錄看起來是被」刪除「了。 Laravel中使用了一個日期欄位作為識別狀態,這個日期欄位可以自定義,這裡我們使用deleted_at,如果對應模型被軟刪除,則deleted_at欄位的值為刪除時間,否則該值為空。

軟體刪除就是邏輯刪除,資料保留單標記上刪除狀態,一般我們會用刪除時間作為標記,這樣標記狀態有了,刪除時間也有了。

類型為timestamp('deleted_at')

在模型中加入use SoftDeletes

use Illuminate\Database\Eloquent\SoftDeletes;
 
class TestModel extends Model 
{
    use SoftDeletes;
 
    
    protected $dates = ['deleted_at'];
}

範例如下:

用Laravel 自帶的Eloquent ORM 來實現軟刪除。

首先在資料移轉檔案中新增刪除時間欄位

./database/migrations/2014_10_12_000000_create_users_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create(&#39;users&#39;, function (Blueprint $table) {
            $table->id();
            $table->string(&#39;name&#39;);
            $table->string(&#39;email&#39;)->unique();
            $table->timestamp(&#39;email_verified_at&#39;)->nullable();
            $table->string(&#39;password&#39;);
            $table->rememberToken();
            $table->timestamps();
            $table->softDeletes()->comment(&#39;删除时间&#39;);// 默认添加 deleted_at 字段
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists(&#39;users&#39;);
    }
};

【相關推薦:laravel影片教學

以上是laravel5.4中軟刪除是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn