Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
如果已指定连接,如何显示具有以下连接的Laravel模型?_Laravel_Eloquent_Laravel 5.7 - Fatal编程技术网

如果已指定连接,如何显示具有以下连接的Laravel模型?

如果已指定连接,如何显示具有以下连接的Laravel模型?,laravel,eloquent,laravel-5.7,Laravel,Eloquent,Laravel 5.7,我有这个产品型号: public function categories() { return $this->belongsToMany('App\Category', 'product_categories'); } 在我的控制器中: public function search(Request $request) { return Product::with([ 'categories' => function($categories) use

我有这个产品型号:

public function categories() {
    return $this->belongsToMany('App\Category', 'product_categories');
}
在我的控制器中:

public function search(Request $request) {
    return Product::with([
        'categories' => function($categories) use ($request) {
            // ...
        }
    ]);
}
如果我尝试在
categories
功能中使用
$request
,它只在类别中搜索,但会显示所有产品


如何仅显示
$request->category\u id
中定义了类别的产品?

您可以通过以下方式进行搜索:

public function search(Request $request) {
    return Product::with('categories')
            ->whereHas('categories', function ($q) use (request) {
                $q->where('id', $request->category_id);
            });
}

您可以使用laravel中的
whereHas
关键字:

public function search(Request $request) {
    return  Product::with('categories')
      ->whereHas('categories', function ($query) use ($request){
        $query->where('category_id', $request->category_id);
    })->get();
}
这是你的电话号码