一文詳解laravel的save方法

laravel是一個流行的php框架,它使用了一些靈活和強大的工具來生成干凈的代碼,有效地操作數據庫。在laravel中使用 save() 方法是一個快速和輕松地創建新數據庫記錄的方法。

save() 方法工作機制

save() 方法使我們能夠以最小的代碼量將數據保存到數據庫中。在Laravel中,即使我們使用低級別的 $queryBuilders 來操作數據庫,save() 方法也能夠使用最小的代碼量來創建新記錄。

Laravel的save() 方法的具體執行方式如下:

  1. 首先,Laravel會檢查記錄對象是否存在,并嘗試在數據庫中尋找與該對象匹配的記錄。如果它沒有找到,則會創建新記錄。
  2. 其次,Laravel會使用 $fillable 或 $guarded 數組來查找可以被保存的屬性。這樣,我們可以確保我們的保存操作安全,而不會將敏感數據暴露在外。
  3. 最后,Laravel創建以構建的 sql 語句,并嘗試將數據插入數據庫中。

用 save() 方法保存數據

為了在Laravel中使用 save() 方法,我們需要做以下幾個步驟:

  1. 創建一個新的對象,并將要保存的數據賦值給它。例如,我們可以在 User 模型中創建一個新的對象:

$user = new User;

  1. 設置屬性并將其保存到數據庫中。例如,我們可以設置用戶記錄的屬性:

$user->name = ‘Tom’;
$user->email = ‘tom@example.com’;

  1. 調用 save() 方法保存數據,如下所示:

$user->save();

使用 fill() 方法

在Laravel中,我們還可以使用 fill() 方法設置模型的屬性。每個模型都必須定義一個包含可分配屬性的 $fillable 屬性。

例如,我們可以在 User 模型中定義 $fillable 數組:

protected $fillable = [‘name’, ’email’, ‘password’];

然后在保存數據之前,使用 fill() 方法來填充對象的屬性:

$user->fill([‘name’ => ‘John’, ’email’ => ‘john@example.com’, ‘password’ => ‘password’]);

最后,保存數據:

$user->save();

使用 create() 方法

Laravel的 create() 方法是另一個快速創建新記錄的方法,它使用了 fill() 和 save() 方法來減少了我們的代碼量。

例如,我們可以在 User 模型中使用 create() 方法來創建新用戶:

User::create([

'name' => 'Jane', 'email' => 'jane@example.com', 'password' => 'password'

]);

總結

Laravel的 save() 方法為我們提供了一個快速和簡單的方式來保存數據到數據庫中。通過使用該方法,我們可以最小化我們的代碼量,并使用 $fillable 和 $guarded 數組來確保我們的數據操作安全。如果我們想要更簡單的方式來創建新記錄,我們也可以使用 create() 方法。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享