laravel资源路由

27 篇文章 0 订阅

资源路由只是系统自动帮你注册了一些资源的restful路由规则

Route::resource('goods', 'GoodsController');

则会创建如下路由

动作URI行为路由名称
GET/goodsindexgoods.index
GET/goods/createcreategoods.create
POST/goodsstoregoods.store
GET/goods/{good}showgoods.show
GET/goods/{good}/editeditgoods.edit
PUT/PATCH/goods/{good}updategoods.update
DELETE/goods/{good}destroygoods.destroy

需要注意的是,以 PUT/PATCH/DELETE 请求时,需要在标签内加一行
{{ method_field(‘PUT/PATCH/DELETE’) }}
因为html表格不支持PUT/PATCH/DELETE 的请求方法
如果不想用{good}作为参数,可以加参数

parameters

Route::resource('goods', 'GoodsController', ['parameters' => ['goods' => 'id']]);

具体代码

//商品
        Route::resource('goods', 'GoodsController', ['parameters' => ['goods' => 'id']]);
//        Route::get('/goods', 'GoodsController@index')->name('goods.index');
//        Route::get('/goods/{good}', 'GoodsController@show')->name('goods.show');
//        Route::get('/goods/create', 'GoodsController@create')->name('goods.create');
//        Route::post('/goods', 'GoodsController@store')->name('goods.store');
//        Route::get('/goods/{good}/edit', 'GoodsController@edit')->name('goods.edit');
//        Route::patch('/goods/{good}', 'GoodsController@update')->name('goods.update');
//        Route::delete('/goods/{good}', 'GoodsController@destroy')->name('goods.destroy');

如果在namespace App\Http\Requests目录下想获取id可以用

$id = $this->route('id');

具体代码

<?php

namespace App\Http\Requests;

use Illuminate\Validation\Rule;

class GoodsRequest extends FormRequest
{
    public function rules()
    {
        $id = $this->route('id');
        //自己的代码
        //.......

    }

    public function messages()
    {
        return [
            //自己的代码
        	//.......
        ];
    }
}

再控制其中直接用

public function show(GoodsRequest $request)
{
    $goods = Goods::find($request->id);
    if($goods) {
        return $goods;
    } else {
        return '商品不存在';
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值