douyaosi3164 2018-01-22 22:34
浏览 32
已采纳

Laravel静态可选路由

I am looking for a "quick" and "clean" solution to the usual http://project.name/products/total where total is optional.

I've tried so far this:

Route::get('products/{total?}', 'ProductController@get', function ($total = null) {});

And then $products = ($total == null) ? Product::all() : Product::count();

But this not only works with products/total but products/whatever. I think adding if($total = 'total') is not a good practice.

I want the last parameter to be static, I am not thinking straight. I guess I have to avoid defining two Routes (Route::get('products'... and Route::get('products/total'...

Laravel Documentation is not helping either. What am I doing wrong?

  • 写回答

2条回答 默认 最新

  • dongxiaoying5882 2018-01-22 22:51
    关注

    If your routes are in reality doing different things (even if they are quite similar) then you should probably add two different routes.

    Route::get('products', function () {
          Product::all() 
    });
    
    Route::get('products/total', function () {
          Product::count() 
    });
    

    Of course this does imply that if there's code that's shared between the two routes you can move it to its own helper function/class.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题