Laravel将路径中的字符串解释为参数

时间:2015-08-14 12:04:20

标签: php laravel routes

我尝试使用谷歌搜索,但我无法说出正确的问题,这很简单。

我有这两条路线:

Route::get('admin_firme/{id_firma}/filijale/{id_filijala}', 'FilijalaAdminController@show'); 
Route::get('admin_firme/{id_firma}/filijale/create', 'FilijalaAdminController@create')

他们调用不同的控制器操作。问题出在调用create方法的第二个路径中。 part / filijale / create被解释为第一个路由的参数,因此调用了错误的方法。我怎么能纠正这个?

我尝试命名路由并为其生成网址,但它仍然调用了错误的方法。

2 个答案:

答案 0 :(得分:2)

刚刚拿下一个......

        document.getElementById("list").innerHTML = document.getElementById
        ("list").innerHTML + "<br />"+ year +"."+ month +"."+ day +" "
        + hour +":"+ minute +":"+ second + " Position: " + " LAT: " +
        latitude + " LONG: " + longitude;
        };

    })(file);
    reader.readAsText(file);
    }

};

document.getElementById('files').addEventListener('change', dateiAusgewaehlt, false);

应该有用。

答案 1 :(得分:1)

你可以做两件事。第一个也是最简单的方法是将它们的顺序交换为圆形,这样在检查匹配路线时,它会检查它是否先创建,如果没有其他匹配id_filijala

您可以做的第二件事是使用id_filijala的模式匹配,例如,如果它只包含数字,那么您可以使用:

Route::get('admin_firme/{id_firma}/filijale/{id_filijala}', 'FilijalaAdminController@show')
    ->where('id_filijala', '[0-9]+');

您可以在where。

中使用任何正则表达式