Php 如何查询类别数组以获取Laravel中的帖子?

Php 如何查询类别数组以获取Laravel中的帖子?,php,laravel,Php,Laravel,嗨,在我的网站上,我想通过复选框输入显示所选多类别结果的帖子。我使用“-”分隔符获取URL中的类别,并分解为一个数组。我的问题是,如何使用类别数组名获取帖子?职位和类别之间的关系是多对多的 将数据发送到帖子url: public function filter(Request $request){ $data = $request->all(); $cat_Name=""; if(!empty($data['categoryFilte

嗨,在我的网站上,我想通过复选框输入显示所选多类别结果的帖子。我使用“-”分隔符获取URL中的类别,并分解为一个数组。我的问题是,如何使用类别数组名获取帖子?职位和类别之间的关系是多对多的

将数据发送到帖子url:

    public function filter(Request $request){
        $data = $request->all();
        $cat_Name="";
        if(!empty($data['categoryFilter'])){
            foreach($data['categoryFilter'] as $cat){
                if(empty($cat_Name)){
                    $cat_Name = "&cat_Name=".$cat;
                }else{
                    $cat_Name .= "-".$cat;
                }
            }
        }

        $finalUrl = "posts"."?".$cat_Name;
        return redirect::to($finalUrl);
    }
从url接收数据并分解为数组:

    if(!empty($_GET['cat_Name'])){
        $categoryArray = explode('-',$_GET['cat_Name']);
    }
现在我希望查询得到$categoryArray中已经存在类别的帖子

既然您在
Post
Category
之间有关系

您可以使用查找包含类别为该类别的帖子:

Post::whereHas('categories',function($q)use($categoryArray){
返回$q->其中('cat_name',$categoryArray);
});
只需使用
request
来获取参数,而不是
$\u get

公共函数yourActionName(Request$Request)
{
如果(!empty($request->input('cat_Name')){
$categoryArray=explode('-',$request->input('cat_Name');
$posts=Post::whereHas('categories',function($q)use($categoryArray){
返回$q->其中('cat_name',$categoryArray);
})->get();
}否则{
...
}
...
}
既然您在
帖子
类别
之间有关系

您可以使用查找包含类别为该类别的帖子:

Post::whereHas('categories',function($q)use($categoryArray){
返回$q->其中('cat_name',$categoryArray);
});
只需使用
request
来获取参数,而不是
$\u get

公共函数yourActionName(Request$Request)
{
如果(!empty($request->input('cat_Name')){
$categoryArray=explode('-',$request->input('cat_Name');
$posts=Post::whereHas('categories',function($q)use($categoryArray){
返回$q->其中('cat_name',$categoryArray);
})->get();
}否则{
...
}
...
}