【问题标题】:passing urlencode laravel return 404传递 urlencode laravel 返回 404
【发布时间】:2017-10-18 16:09:00
【问题描述】:

我尝试使用两个参数传递 url,但得到错误 404,即bill_number include /

这是我的路线

Route::prefix("monthly-bill")->group(function() {
Route::get("slip/{id}/{bill_number}", "MonthlyBillController@slip");
});

当我生成 url 时总是返回 404

url("apt/monthly-bill/slip/".$billing->bill_period_id."/".rawurlencode($billing->bill_number))

这是我的控制器

public function slip($bill_period_id, $bill_number)
{
    $convert = new Convert(storage_path("tenant\config\document\slip.blade.php"));

    $convert->data([
        "title" => "Document",
        "date" => date("d F Y"),
        "items" => MonthlyBill::info()
                    ->billPeriod($bill_period_id)
                    ->billNumber($bill_number)
                    ->select("monthly_bill.*",
                        "bpr.*", "t.name", "t.unit_kind", "t.width")->first()
    ]);

    $file = $convert->to("pdf", "invoice-$bill_period_id.pdf", true);

    return response()->file($file);
}

【问题讨论】:

  • 我认为问题出在网址中的apt/ ùethod !!
  • apt/ 是一个文件夹。制作自定义模块,因此在访问前缀之前应包含文件夹名称!我要问的是如何使用 rawurlencode / urlencode 制作两个参数
  • 如果您仍然得到 404,请在您的路线 Route::prefix("monthly-bill")->group(function() { Route::get("slip/{id}/{bill_number}", , function ($id, $bill_number) { dd($id ." -- ".$bill_number) }); }); 中检查此问题,因此问题出在您的 url 函数中!!
  • 所以谢谢你的回答:我会试试@Maraboc

标签: laravel-5


【解决方案1】:

我建议使用action() helper 生成网址

action('MonthlyBillController@slip', [
    'id'          => $billing->bill_period_id,
    'bill_number' => $billing->bill_number,
])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 2020-11-30
    • 2019-09-05
    • 2015-07-31
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    相关资源
    最近更新 更多