3 回答

TA貢獻1829條經(jīng)驗 獲得超7個贊
這是數(shù)據(jù)庫中列的id值,因為你還沒有保存,數(shù)據(jù)庫中什么也沒有(你無法獲取它)。id
我想您需要執(zhí)行一些可能在某些時候失敗或被取消的任務(wù),對于這種情況,有一個解決方法,例如:
DB::beginTransaction();
try {
$article = new Article();
$article->fields = 'example';
$article->save();
// Anything needing ID here...
DB::commit();
} catch (\Exception $e) {
DB::rollback();
// Handle or re-throw:
throw $e;
}

TA貢獻1796條經(jīng)驗 獲得超10個贊
您無法獲取尚未保存的對象/模型的 ID。
在這種情況下,ID 不存在,您可以找到最新的 ID 并將該 ID 加一,但是您可能會在某些競爭條件下運行,當(dāng)另一個向該表添加新元素的腳本速度更快時,然后您稍后保存的 ID 錯誤。
如果您需要 ID 來存儲該模型的引用,正確的方法是先保存模型,然后保存引用。
如果您需要 ID 來保存文件名中包含 ID 的文件,那么您在數(shù)據(jù)庫中保存為文本的內(nèi)容可以先保存模型(以檢索 ID),然后再次保存包含缺失信息的模型。

TA貢獻1848條經(jīng)驗 獲得超6個贊
初始化一個空模型來獲取它的 id 沒有幫助,因為 idid
總是在運行時計算。請記住,系統(tǒng)可能n
同時收到請求。
nullable
如果您想創(chuàng)建一個空行來獲取保留,則需要創(chuàng)建這些字段id
。
或者,如果您只需要存儲在數(shù)據(jù)庫表中的最后一個 id,則可以通過以下方式執(zhí)行此操作,但這可能會導(dǎo)致數(shù)據(jù)中出現(xiàn)一些不匹配和不一致:
$latest_id = Article::latest()->first()->id;
- 3 回答
- 0 關(guān)注
- 234 瀏覽
添加回答
舉報