Laravel insert,save,update,createの違い

1632 ワード

Insert:データを挿入する場合、created_を維持する必要があります.atとupdated_atフィールド
データベースに新しいレコードを作成するには、新しいモデルインスタンスを作成し、モデルにプロパティを設定してsaveメソッドを呼び出すだけです.
name = $request->name;

        $flight->save();
    }
}

save:挿入または更新にかかわらず、手動で操作することなく自動的にメンテナンスされます
saveメソッドを使用します.同じ、updated_atタイムスタンプは自動的に更新されるので、手動で値を設定する必要はありません.
$flight = App\Flight::find(1);

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

$flight->save();

update:更新操作、自動メンテナンスupdated_atフィールド
saveメソッドは、データベースにすでに存在するモデルを更新するためにも使用できます.モデルを更新するには、モデルを取得してから更新するプロパティを設定し、saveメソッドを呼び出す必要があります.同じ、updated_atタイムスタンプは自動的に更新されるので、手動で値を設定する必要はありません.
$flight = App\Flight::find(1);

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

$flight->save();

updateメソッドでは、更新するフィールドのフィールドの値を表すキー値ペア配列を入力する必要があります.
Eloquentによる一括更新の場合、savedとupdatedのモデルイベントは更新されたモデルによってトリガーされません.これは、一括更新を実行すると、モデルが取得されないためです.
create:自動メンテナンスcreated_atとupdated_at 2フィールド
createメソッドを使用して新しいモデルを保存し、データベースに挿入されたモデルインスタンスがメソッドから返されることもできます.ただし、その前に、すべてのEloquentモデルがデフォルトで一括付与できないため、モデルにfillableまたはguardedのプロパティを指定する必要があります.
$flight = App\Flight::create(['name' => 'Flight 10']);