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

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

如何將模型作為參數傳遞給控制器

如何將模型作為參數傳遞給控制器

PHP
MM們 2022-01-14 17:18:00
我想將產品模型作為參數傳遞給 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,


查看完整回答
反對 回復 2022-01-14
?
三國紛爭

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

首先檢查 Product 模型是否包含在頂部,例如

use App\Product;

還要確保產品 id 23 在您的數據庫中可用。

檢查您的日志文件,看看它是否產生任何錯誤。

還有一件事我注意到你創建了一個 apiResource 如果它的 api 路由添加 /api/ 到端點。

通過 php artisan route:list 檢查所有端點


查看完整回答
反對 回復 2022-01-14
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

當您編寫路線時會發生這種情況,不幸的是您添加了一個空格。

Route::get('/products/{product } ', "ProductController");

但是在這里您使用 apiResource 并且沒有顯示空間。請仔細檢查所有路線,

php artisan route::list

是否存在任何其他單個product.show name 路由。當你在那之后得到這個

public function show($id)    
{
       $variable=Product::find($id);
    }


查看完整回答
反對 回復 2022-01-14
  • 3 回答
  • 0 關注
  • 237 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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