我正在使用Laravel5.4,我试图阻止任何改变我的网址改变我的下拉菜单的标题。
例如,当我单击下拉菜单之一时,URL应该更改(my_site.app/dropdown/),下拉菜单的标题应该更改,以显示所选项目。,但我遇到的问题是,我可以在URL中键入 anything ,下拉菜单的标题更改为在URL中键入的内容。是我想要的,这样只能显示和使用正确的下拉项目,否则我希望菜单进入默认的'all'。
以下是我的主计长的相关代码:
public function setFilters( $request, $defaultFilter=null)
{
if ($defaultFilter) {
$filters['audience'] = 'all';
$filters['category'] = 'all';
return $filters;
}
$isAudience = Audiences::select()->where('type', '=', $request->segment(1))->get();
if ( !empty($isAudience) ) {
$filters['audience'] = strtolower( $request->segment(1) );
}
else {
$filters['audience'] = 'all';
}
if ( !empty($request->segment(2)) ) {
$filters['category'] = strtolower( $request->segment(2) );
}
else {
$filters['category'] = 'all';
}
return $filters;
}有人知道我能做些什么来避免这个问题吗?如果需要更多的信息,请告诉我。
发布于 2017-10-02 17:20:43
我的建议是为这些链接创建一个控制器,比如PagesController和do语句来控制urls。在标记中,指定下拉选项并为每个URL执行if语句,并为其他语句抛出任何错误,如果有人直接在URL中键入该选项。
https://stackoverflow.com/questions/46530159
复制相似问题