【问题标题】:How to pass ID from url to controller in laravel如何将 ID 从 url 传递到 laravel 中的控制器
【发布时间】:2020-06-01 00:35:32
【问题描述】:

我希望在输入网址为 www.domain-name.in/sample/ID 时打开我的查看页面。 ID 可以是 5 位的整数值。现在,当我输入网址为 www.domain-name.in/sample 时,我的查看页面正在打开,但是当我输入 www.domain-name.in/sample/ID 时,我收到 404 错误。 这是我的路线:

Route::get('/{$id}','HomeController@index');

这是我的控制器

public function index(Request $request,$id)
    {
        return view('filename');
    }

我怎样才能通过这个 url 查看页面:www.domain-name.in/sample/ID

【问题讨论】:

  • 请出示您的路线web.php
  • Route::get('/{$id}','HomeController@index');
  • 你添加了路由前缀然后我更新了我的答案试试吧
  • 请删除您路线中的$ 符号。无需使用$Route::get('/{id}', 'HomeController@index');
  • 如果我没记错的话,您定义的任何 Laravel 路由都会在此处给出 404,如果是这种情况,请参阅 laracasts.com/discuss/channels/laravel/…stackoverflow.com/questions/13514990/…

标签: php html laravel url


【解决方案1】:

您的路线将是

Route::get('sample/{id}','HomeController@index')->where(['id' => '[0-9]{1,5}');

您的控制者将是

public function index($id)
{
   echo $id;
   exit;
   return view('filename');
}

现在您可以通过以下网址访问它。

www.domain-name.in/sample/12345

“12345”是5位样本id的整数值。

【讨论】:

  • 你能告诉我你在浏览器上执行的是什么 URL 吗?
  • 谢谢你。 Route::get('/{id}','HomeController@index')->where(['id' => '[0-9]{1,5}');从路线中删除样本。
  • 路由中需要添加sample/11244。认为这是真的。
【解决方案2】:

您需要使用以下代码:

如果您在web.php 中定义了路由组,则使用:

Route::group(['prefix' => 'sample'], function(){
    Route::get('/{id}', 'HomeController@index')->name('home');
});

在控制器中:

public function index(Request $request,$id)
{
    $myid = $id;
    return view('filename', compact('myid'));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 2021-09-27
    • 2020-08-09
    • 2020-11-09
    • 2021-01-28
    • 2019-06-18
    • 2019-05-16
    相关资源
    最近更新 更多