【问题标题】:Laravel 5.4 - How can I prevent a change in my URL from changing the titles of my drop down menus?Laravel 5.4 - 如何防止我的 URL 更改更改我的下拉菜单的标题?
【发布时间】:2017-10-02 16:58:21
【问题描述】:

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

例如,当我单击其中一个下拉菜单时,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;
}

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

【问题讨论】:

    标签: php database url controller laravel-5.4


    【解决方案1】:

    我的建议是为这些链接创建一个控制器,例如 PagesController 并执行 if 语句来控制 URL。在标签中指定下拉选项并为每个 URL 执行 if 语句,并在 else 语句中抛出任何错误,除非有人直接在 URL 中键入该选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      相关资源
      最近更新 更多