第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創(chuàng)建一個沒有屬性的空 Laravel 模型實例,但仍然獲取 id

創(chuàng)建一個沒有屬性的空 Laravel 模型實例,但仍然獲取 id

PHP
動漫人物 2023-06-24 15:46:20
基本上,我正在創(chuàng)建一個 Article 實例:$article = new Article();//Returns null$id = $article->id();然而,這會返回一個空對象。我想做的是創(chuàng)建一篇文章并在執(zhí)行之前獲取其 id:$article->save();嘗試創(chuàng)建文章不起作用,因為它需要提供值或具有默認(rèn)值:$article = Article::create();我正在考慮的方法是:$latest_id = Article::latest()->first()->id;但我不確定這是否正確,或者是否有更好的方法。
查看完整描述

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;

}


查看完整回答
反對 回復(fù) 2023-06-24
?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

您無法獲取尚未保存的對象/模型的 ID。

在這種情況下,ID 不存在,您可以找到最新的 ID 并將該 ID 加一,但是您可能會在某些競爭條件下運行,當(dāng)另一個向該表添加新元素的腳本速度更快時,然后您稍后保存的 ID 錯誤。

如果您需要 ID 來存儲該模型的引用,正確的方法是先保存模型,然后保存引用。

如果您需要 ID 來保存文件名中包含 ID 的文件,那么您在數(shù)據(jù)庫中保存為文本的內(nèi)容可以先保存模型(以檢索 ID),然后再次保存包含缺失信息的模型。


查看完整回答
反對 回復(fù) 2023-06-24
?
慕勒3428872

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;


查看完整回答
反對 回復(fù) 2023-06-24
  • 3 回答
  • 0 關(guān)注
  • 234 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號