Laravel 5.7 具有多个参数的自定义 URL

Laravel 5.7 custom URL with multiple parameter

我有这个问题,我需要得到这种 url localhost:8000/purchaseOrder/3/purchase/1 如果我手动输入它,它可以工作,但是当我使 laravel 自动创建 url 时,它出错并以 localhost:8000/purchaseOrder/$data-%3Eid/payable/$p-%3Eid

结束

这是我的路线

Route::get('/purchaseOrder/{id}/payable/{he}', 'AjaxController@purchaseOrder');

这是我的控制器(到目前为止我想要的只是回应我给的 url)

function purchaseOrder($id,$he)
{
  echo $id." | ".$he;
}

这是我的看法

<a href="{{ url('purchaseOrder/$data->id/payable/$p->id') }}"><button type="button" class="btn btn-success btn-sm my-1" name="button">Create Purchase Order</button></a><br>

更改查看代码:

<a href="{{ url('purchaseOrder/'.$data->id.'/payable/'.$p->id.') }}"><button type="button" class="btn btn-success btn-sm my-1" name="button">Create Purchase Order</button></a><br>

另一种方式是这样的:

设置路线名称

Route::get('/purchaseOrder/{id}/payable/{he}', 'AjaxController@purchaseOrder')->name('purchaseOrder');

并且在视图中:

<a href="{{ route('purchaseOrder',[$data->id,$p->id]) }}">

您可以使用两种方法来实现。

(1) 使用route()方法:传递路由名称

<a href="{{ route('purchaseOrder',['id' => $data->id,'he' => $p->id]) }}"><button type="button" class="btn btn-success btn-sm my-1" name="button">Create Purchase Order</button></a>

(2) 使用url()方法:通过路由

的URL
<a href="{{ url('purchaseOrder/'.$data->id.'/payable/'.$p->id.') }}"><button type="button" class="btn btn-success btn-sm my-1" name="button">Create Purchase Order</button></a><br>

请使用第一个 route() 方法

的名称更新您的路线
Route::get('/purchaseOrder/{id}/payable/{he}', 'AjaxController@purchaseOrder')->name('purchaseOrder');