同样的路由,相似的访问,一个200,一个404帮忙看下,错误在哪里

1. 运行环境

1). 当前使用的 Laravel 版本?

8

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.4

php-fpm 版本:

3). 当前系统

centOs7

4). 业务环境

开发

5). 相关软件版本

mysql5.6

2. 问题描述?

路由
Route::get(‘/db/showTable’, [App\Http\Controllers\DBController::class, ‘showTable’]);
Route::get(‘/tables/shows/{tableName}’, [App\Http\Controllers\DBController::class, ‘showTableField’]);

控制器:
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class DBController extends Controller
{
public function showTable(){
$tablesNames = DB::select(“select table_name from information_schema.tables where table_schema=’test’”);
//dd($tablesNames);
foreach ( $tablesNames as $key => $value){
echo “$value->table_name
“;
}
echo <<<EOF

EOF;
}

public function showTableField(Request $request){
    //dd($request);
    // dd(123);
    // dd($request->all());
    $tableName = $request->tableName;
    $fields = DB::select("show columns from $tableName");
    print_r('<pre>');
    print_r($fields);
    print_r('</pre>');
}

}

3. 您期望得到的结果?

匹配路由

4. 您实际得到的结果?

同样的路由,相似的访问,一个200,一个404帮忙看下,错误在哪里

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5
public function showTableField(Request $request, $tableName){ 
    $fields = DB::select("show columns from $tableName");
    print_r('<pre>');
    print_r($fields);
    print_r('</pre>');
}

下次提问好好排版,才会有人愿意回答你的问题。

3年前 评论

上面回答的算其一,其二是好好读文档 正确答案原理传送门

3年前 评论
MArtian 3年前
leo 3年前

路由缓存问题吧,开发就把路由缓存关了吧

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!