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

Mar*_*her 2 routes href laravel laravel-5.7

我遇到这个问题,如果我手动输入它,我需要获取这种 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');
Run Code Online (Sandbox Code Playgroud)

这是我的控制器(到目前为止我想要的只是响应我给出的网址)

function purchaseOrder($id,$he)
{
  echo $id." | ".$he;
}
Run Code Online (Sandbox Code Playgroud)

这是我的观点

<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>
Run Code Online (Sandbox Code Playgroud)

Moh*_*d b 5

更改视图代码:

<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>
Run Code Online (Sandbox Code Playgroud)

另一种方法是这样的:

设置路线名称

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

并认为:

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