2 回答

TA貢獻1804條經(jīng)驗 獲得超2個贊
具有該方法簽名的$id是一個模型實例。Eloquent 模型實現(xiàn)Illuminate\Contracts\Support\Arrayable. 如果您將某個東西傳遞Arrayable給正在調(diào)用的find,findOrFail它會像您正在查找多條記錄一樣對待它并返回一個 Collection 。
您有一個集合而不是模型實例。
如果您的方法簽名沒有鍵入提示模型,那么它會更有意義,因為您將擁有“id”。如果您為這些方法鍵入提示模型,通常您會使用路由模型綁定。
路由模型綁定:
public function show(Blog $blog)
{
// $blog is the matching record
}
沒有模型綁定,只獲取參數(shù):
public function show($blog)
{
// $blog is just the 'id' or what ever you decided to pass in the URL
}
您的路由有一個名為 name 的參數(shù),blog因為您的資源名為“blog”。為了實現(xiàn)隱式路由模型綁定,您必須將參數(shù)名稱與簽名中的參數(shù)名稱相匹配。

TA貢獻1836條經(jīng)驗 獲得超4個贊
在您的函數(shù)中show(Blog $id)
, $id 是 Blog::class 實例
接下來你需要做什么$blogs = Blog::findOrfail($id->id);
- 2 回答
- 0 關(guān)注
- 168 瀏覽
添加回答
舉報