亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Laravel 框架此集合實例上不存在屬性 [title]

Laravel 框架此集合實例上不存在屬性 [title]

PHP
躍然一笑 2023-07-21 18:09:57
我正在顯示從數據庫到 show.blade.php 的數據,但這個問題顯示以下是代碼: BlockControllerpublic function show(Blog $id)? ? {? ? ? ? //? ? ? ? $blogs = Blog::findOrfail($id);? ? ? ? return view('blog.show', compact('blogs'));? ? }顯示.blade.php@section('content')? ??? ? ? ? <h3>{{ $blogs->title }}</h3>? ? ? ??@endsectiondd($blogs) 的輸出:我嘗試了我得到的所有選項,但仍然不起作用..
查看完整描述

2 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

具有該方法簽名的$id是一個模型實例。Eloquent 模型實現Illuminate\Contracts\Support\Arrayable. 如果您將某個東西傳遞Arrayable給正在調用的find,findOrFail它會像您正在查找多條記錄一樣對待它并返回一個 Collection 。


您有一個集合而不是模型實例。


如果您的方法簽名沒有鍵入提示模型,那么它會更有意義,因為您將擁有“id”。如果您為這些方法鍵入提示模型,通常您會使用路由模型綁定。


路由模型綁定:


public function show(Blog $blog)

{

    // $blog is the matching record

}

沒有模型綁定,只獲取參數:


public function show($blog)

{

    // $blog is just the 'id' or what ever you decided to pass in the URL

}

您的路由有一個名為 name 的參數,blog因為您的資源名為“blog”。為了實現隱式路由模型綁定,您必須將參數名稱與簽名中的參數名稱相匹配。


查看完整回答
反對 回復 2023-07-21
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

在您的函數中show(Blog $id), $id 是 Blog::class 實例

接下來你需要做什么$blogs = Blog::findOrfail($id->id);


查看完整回答
反對 回復 2023-07-21
  • 2 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號