Laravel 5.4 - 如何防止我的URL更改更改我的下拉菜单的标题?

时间:2017-10-02 16:58:21

标签: php database url controller laravel-5.4

我正在使用Laravel 5.4,我试图阻止我的URL中的任何更改更改我的下拉菜单的标题。

例如,当我点击其中一个下拉菜单时,网址应该更改(my_site.app/dropdown/),并且下拉菜单的标题应该更改以显示所选项目。 但我遇到的问题是我可以在网址中键入任何内容,下拉菜单的标题会更改为网址中输入的内容。我想要这样只有 可以显示和使用正确的下拉项,否则我希望菜单转到默认的'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;
}

有谁知道我能做些什么来避免这个问题?如果需要任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

我的建议是为这些链接创建一个控制器,比如PagesController和do if语句来控制网址。在标签中指定dropdown选项并为每个URL执行if语句,而else语句用于抛出任何错误,如果有人直接在URL中键入选项。