我想將產品模型作為參數傳遞給 ProductController,通常我這樣做:php artisan make:model Model/Product -cr然后 laravel 會為我做魔法,但現在我分別創建了模型和控制器。我試著這樣做: /** * Display the specified resource. * * @param App\Model\Product $product * @return \Illuminate\Http\Response */ public function show(Request $request, Product $product) { return $product; }.php工匠路線:列表| GET|HEAD | products/{product} | products.show | App\Http\Controllers\ProductsController@show | api,jwt.auth |.路由器Route::apiResource('/products', "ProductController");.要求http://127.0.0.1/products/23?withsomequery=yes .沒有錯誤:-rw-r--r-- 1 www-data www-data 0 Sep 18 12:30 laravel-2019-09-18.log.以上所有代碼都返回空數組,但我知道它應該返回一些東西。我希望它返回如下內容:{ id: 23 name: computer created_at: 2019-02-02 updated_at: 2019-02-02}
3 回答
千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
您應該獲得與該路線相關的所有路線:
php artisan route:list
并找到products.show路線來檢查您是否應該在控制器中獲取 $product 并刪除Request $requestshow()
編輯 :
Route::apiResource('/products', "ProductController")
->middleware('bindings');綁定存在于 kernel.php 中:
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
三國紛爭
TA貢獻1804條經驗 獲得超7個贊
首先檢查 Product 模型是否包含在頂部,例如
use App\Product;
還要確保產品 id 23 在您的數據庫中可用。
檢查您的日志文件,看看它是否產生任何錯誤。
還有一件事我注意到你創建了一個 apiResource 如果它的 api 路由添加 /api/ 到端點。
通過 php artisan route:list 檢查所有端點
陪伴而非守候
TA貢獻1757條經驗 獲得超8個贊
當您編寫路線時會發生這種情況,不幸的是您添加了一個空格。
Route::get('/products/{product } ', "ProductController");但是在這里您使用 apiResource 并且沒有顯示空間。請仔細檢查所有路線,
php artisan route::list
是否存在任何其他單個product.show name 路由。當你在那之后得到這個
public function show($id)
{
$variable=Product::find($id);
}- 3 回答
- 0 關注
- 237 瀏覽
添加回答
舉報
0/150
提交
取消
