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

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

Laravel 7 Eloquent:模型上的方法刷新()忽略默認(嵌套)急切加載

Laravel 7 Eloquent:模型上的方法刷新()忽略默認(嵌套)急切加載

PHP
隔江千里 2023-09-22 14:50:33
我正在保存/更新模型并使用刷新()方法來輸出新數(shù)據(jù)。Laravel 文檔說:如果您計劃在使用 save 或 saveMany 方法后訪問關(guān)系,您可能希望使用刷新方法重新加載模型及其關(guān)系控制器  public function store()  {    //    $comic = new Comic;    $comic->fill($this->validateComic());    $comic->save();    return $comic->refresh();  }  public function update(Comic $comic)  {    //    $comic->fill($this->validateComic());    $comic->save();    return $comic->refresh();  }模型在漫畫模型中,我定義了默認的急切加載:  protected $with = ['series', 'series.publisher'];這非常適合簡單的 GET 方法。但如果我保存模型并對其使用刷新() ,輸出就會失去其關(guān)系。store() 和 update() 方法的行為也不同。store ()方法沒有給我任何關(guān)系。update ()方法僅返回系列關(guān)系(但不返回嵌套關(guān)系)。這是一個錯誤還是我在文檔中遺漏了某些內(nèi)容?謝謝。示例數(shù)據(jù){"comic_id":21,"series_id":5,"comic_issue":"2","comic_name":"Test after 6","status_id":1,"comic_rating":null,"comic_release_date":"2015-09-26","comic_read_date":null,"comic_summary":"Summary 5","created_at":"2020-08-07T17:28:14.000000Z","updated_at":"2020-08-08T17:14:16.000000Z","series":    {    "series_id":5,    "series_name":"Assumenda consectetur.",    "publisher_id":4,    "release_date":null,    "publisher":        {        "publisher_id":4,        "publisher_name":"Aliquam earum."        }    }}
查看完整描述

1 回答

?
慕無忌1623718

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

這實際上是預期的refresh工作方式。refresh僅重新加載已加載的關(guān)系。在第一個示例中,沒有加載任何關(guān)系,因為該模型不是從數(shù)據(jù)庫中檢索的,它是您直接創(chuàng)建的全新模型實例。第二個示例很可能是路由模型綁定,其中模型已從數(shù)據(jù)庫返回,并且因為您正在使用它protected $with,所以它已加載這些關(guān)系,因此它會重新加載這些關(guān)系。



查看完整回答
反對 回復 2023-09-22
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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