Laravel查询搜索函数集合:find first firstWhere firstOr findOrFail firstOrFail firstOrNew firstOrCreate
查找的三個all? get find
find的帶條件? get獲取所有? ?all獲取所有
查找:這三個都是1行數據的
find進行$users->find(1);find(里面的是id)
first 方法返回集合中通過指定條件測試的第一個元素:
firstWhere 方法返回集合中含有指定鍵 / 值對的第一個元素:
?
查找:帶or的是會拋出異常
firstOr?方法將會在查找到結果時返回首個結果,如果沒有結果,將會執行給定的回調;
findOrFail方法會檢索查詢的第一個結果,如果未找到,將拋出異常;
firstOrFail方法會檢索查詢的第一個結果,如果未找到,將拋出異常;
插入:進行保存的?批量賦值的方法?firstOrCreate 和 firstOrNew
firstOrCreate 方法會通過給定的鍵 / 值對來匹配數據庫中的數據。
如果在數據庫中找不到模型,則將插入一條記錄,其中包含第一個參數的屬性以及可選的第二個參數的屬性。
firstOrNew 方法像 firstOrCreate 方法一樣嘗試通過給定的屬性查找數據庫中的記錄。
不過,如果 firstOrNew 方法找不到對應的模型,會返回一個新的模型實例。
注意 firstOrNew 返回的模型實例尚未保存到數據庫中,你需要手動調用 save 方法來保存:
public function info10(){//如果沒有就新增 有的話不變化$stu=Student::firstOrCreate(['name'=>'info10']);}//允許批量賦值public $fillable = array('name', 'age');//不允許批量賦值的public $guarded=array('id');public function info11(){//如果沒有就新增 有的話不變化$stu=Student::firstOrNew(['name'=>'info11']);$stu->save();}更新:updateOrCreate:存在修改不存在創建
你還可能遇到希望更新現有模型或在不存在的情況下則創建新的模型的情景。 Laravel 提供 updateOrCreate 方法來一步實現。 類似于 firstOrCreate 方法,updateOrCreate 持久化模型,因此無需調用 save():
// 如果有從奧克蘭到圣地亞哥的航班,則價格定為99美元。 // 如果沒匹配到存在的模型,則創建一個。 $flight = App\Flight::updateOrCreate(['departure' => 'Oakland', 'destination' => 'San Diego'],['price' => 99, 'discounted' => 1] );?
總結
以上是生活随笔為你收集整理的Laravel查询搜索函数集合:find first firstWhere firstOr findOrFail firstOrFail firstOrNew firstOrCreate的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP使用单例模式进行连接DB:publ
- 下一篇: ESP是什么意思