Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4.2-在返回视图之前操作查询字符串值_Php_Laravel_Laravel 4_Query String - Fatal编程技术网

Php Laravel 4.2-在返回视图之前操作查询字符串值

Php Laravel 4.2-在返回视图之前操作查询字符串值,php,laravel,laravel-4,query-string,Php,Laravel,Laravel 4,Query String,我有一个显示产品列表的页面。每个产品都属于一个部门,该部门有不同的子部门,这些子部门有不同的类别,而这些子部门又有不同的子类别。我使用这些属性来过滤产品,并且它们中的每一个仅在提交前一个时显示。例如,子节仅在定义了节时显示,并且仅显示属于该特定节的子节。我正在使用查询字符串生成过滤器,如下所示: 当用户在页面中选择一个过滤器时,这会很好地工作。首先,您选择一个部分,页面将重新加载子部分。然后他选择一个子部分,页面将重新加载子类别,以此类推 我的问题是:我希望它以这样的方式工作:如果我取消选择节,

我有一个显示产品列表的页面。每个产品都属于一个部门,该部门有不同的子部门,这些子部门有不同的类别,而这些子部门又有不同的子类别。我使用这些属性来过滤产品,并且它们中的每一个仅在提交前一个时显示。例如,子节仅在定义了节时显示,并且仅显示属于该特定节的子节。我正在使用查询字符串生成过滤器,如下所示:

当用户在页面中选择一个过滤器时,这会很好地工作。首先,您选择一个部分,页面将重新加载子部分。然后他选择一个子部分,页面将重新加载子类别,以此类推

我的问题是:我希望它以这样的方式工作:如果我取消选择节,它将返回没有查询字符串的视图,或者至少其他值为空。当前它返回如下所示:

我已尝试仅使用预定义输入返回视图,如section,以防subsection未定义:

if(isset($filter['subsection']) && $filter['subsection'] != '') {
        $category = new ProductCategory;
        $categories = $category->where('subsection', '=', $filter['subsection'])->lists('name', 'id');
        $view = $view->with('categories', $categories);
    }
    else {
        return $view->with(Input::except('subsection','category','subcategory'));
    }
这将进入else块,但URL仍然会获取所有查询字符串及其以前的值。我也尝试了Input::only,但它产生了相同的结果


我应该用另一种方式来做这件事吗,也许是用一个帖子?在使用withInput将输入发送回之前,是否有清除输入的方法?谢谢。

您需要使用http中间件:@Sarfraz中间件是在L5中引入的。在L4中有过滤器。