laravel insert 、save、update、create區別(總結二)


1、insert:插入數據時,需要維護 created_at 和 updated_at字段,

 

2、save:無論插入或者更新,會自動維護,無需手動操作

//插入:
public function store(Request $request)
    {
        $flight = new Flight;

        $flight->name = $request->name;

        $flight->save();
    }

//更新:

$flight = App\Flight::find(1);

$flight->name = 'New Flight Name';

$flight->save();
格式: Eloquent實例->save();

插入操作例子中,HTTP 請求的參數 name 賦值給了 App\Flight 模型實例的 name 屬性。調用 save 方法,一條記錄就會插入數據庫。created_at 和 updated_at 時間戳隨着 save 方法的調用,會自動維護,無需手動操作

save 方法也可用於模型更新。更新模型時,需要檢索到它,然后設置模型屬性,再調用 save 方法。同樣地,updated_at 時間戳自動更新,無需手動操作

 

3.update:更新操作,自動維護 updated_at字段

也可一並更新查詢到的多個模型。這個例子中,所有 active 和 destination 為 San Diego 的航班都被更新為延誤:

App\Flight::where('active', 1)
          ->where('destination', 'San Diego')
          ->update(['delayed' => 1]);

update 方法接受一個字段為鍵、更新數據為值的數組

4.create 自動維護 created_at 和 updated_at兩個字段

除了 save 和 saveMany 方法外,你還可以使用 create 方法。它接受一個屬性數組,同時會創建模型並插入到數據庫中。 還有, save 方法和 create 方法的不同之處在於, save 方法接受一個完整的 Eloquent 模型實例,而 create 則接受普通的 PHP 數組:

$post = App\Post::find(1);

$comment = $post->comments()->create([
    'message' => 'A new comment.',
]);

{tip} 在使用 create 方法前,請務必確保查看過本文檔的 批量賦值 章節。

格式:create(【‘字段’=>值,組成的數組】);

參考連接: https://learnku.com/docs/laravel/5.6/eloquent-relationships/1404#3d967c

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM