我的框架是laravel 5.2
,我的网站购买机票。
from
:伊朗伊玛目霍梅尼国际(IKA)德黑兰。
to
:伦敦(LON),英国。
date
:航班日期。
adult
:2个人,child
:1个人,infant
:0个人。
当前网址为:
http://localhost:8000/flights?from=IKA&to=LON&date=2016-11-25&adult=2&child=1&infant=0
我想更改此网址:
http://localhost:8000/flights/IKA-LON/2016-11-25/2-1-0
我如何实现这一目标?
答案 0 :(得分:1)
您的路线看起来像
Route::get('/flights/{from}-{to}/{date}/{adult}-{child}-{infant}', 'YourController@details');
控制器
public function details($from, $to, $date, $adult, $child, $infant)
{
}
答案 1 :(得分:1)
第一步是为你的新网址var productos = [];
$.ajax({
url: '/api/facturacion/productos',
method: 'get',
success: function (data) {
if(data) {
for(var i=0; i<data.length; i++) {
productos.push({
id: data[i].id,
text: data[i].descripcion
});
}
}
}
}).then(function() {
$(`#nombre_${articuloId}`).select2({
data: productos,
language: 'es'
});
});
route
接下来,您需要阅读控制器中的网址内容
答案 2 :(得分:1)
作为一种更严格的替代方案,您的路线可以像这样注册:
Route::get('flights/{from}-{to}/{date}/{people}', function ($from, $to, $date, $people) {
list($adults, $children, $infants) = explode('-', $people);
dd([$from, $to, $date, $adults, $children, $infants]);
})->where([
'date'=>'\d{4}\-\d{2}\-\d{2}',
'people'=>'[0-9]+\-[0-9]+\-[0-9]+'
]);
这可确保您的路线在被识别为有效之前包含正确的格式。