目前我有數組中的屬性,但該模型已經存在於表中如何實例化模型而不再查詢,以便我可以使用這些函數。我知道有辦法。請將我指向正確的方向。以下是我目前使用的模型的一些值的數組結構。實例化具有屬性的數據庫中已存在的eloquent模型?
"url" => null
"is_default" => 1
"is_verified" => 2
"verification_token" => null
目前我有數組中的屬性,但該模型已經存在於表中如何實例化模型而不再查詢,以便我可以使用這些函數。我知道有辦法。請將我指向正確的方向。以下是我目前使用的模型的一些值的數組結構。實例化具有屬性的數據庫中已存在的eloquent模型?
"url" => null
"is_default" => 1
"is_verified" => 2
"verification_token" => null
最後我得到了它, 我們可以實例通過數值模型
$model = new YourModel(['name' => 'foo', 'other_attribute'=>3], false);
我們可以通過第二個參數爲false,這會說它存在於數據庫中
我認爲你正在尋找firstOrNew
和firstOrCreate
方法。 (Laravel 5.2 reference)
這兩種方法都會嘗試使用給定的列/值對來查找數據庫記錄。但是,firstOrNew
不會將數據插入到數據庫中,您需要手動調用save()
方法。
firstOrNew方法,如firstOrCreate將嘗試在數據庫中查找匹配給定屬性的記錄。但是,如果未找到模型,則會返回一個新的模型實例。請注意,firstOrNew返回的模型尚未保存到數據庫。您將需要調用保存手動堅持它:
但我不想查詢只是實例化模型 – msonowal
只需創建一個實例,如'$ model = new YourModel(['url'=>'']);' –
但是這會創建一個新實例,這意味着當我們調用save時它會插入新的行 – msonowal
所以不要調用保存然後解決問題。 –