我的查询没有任何理由没有结束吗?我试图通过雄辩的方式从连接中获取辅助表中的所有值:
Product::leftJoin('brands', 'products.brand_id', '=', 'brands.id')
->leftJoin('product_categories', function($query) use ($parent){
$query->on('products.category_id', '=', 'product_categories.id')
->where('product_categories.parent_id', $parent);
})
->selectRaw('brands.*')
->groupBy('brands.id')
->get();
如果我选择产品。*查询很好,但有品牌。*它永远不会结束,有人知道发生了什么吗?
如果我直接在phpmyadmin中运行sql,它会给我结果。
此查询需要的是让所有品牌拥有其类别为parent_id = $ parent
的现有产品答案 0 :(得分:0)
嗯,我不知道为什么eloquent从第二个表中获取字段有问题,但是我使用了查询构建器,因此这个查询工作正常。我离开我的"解决方案",也许这对某人有用:
$brands = Product::leftJoin('brands', 'products.brand_id', '=', 'brands.id')
->leftJoin('product_categories', function($query) use ($parent){
$query->on('products.category_id', '=', 'product_categories.id')
->where('product_categories.parent_id', $parent);
})
->selectRaw('brands.*')
->groupBy('brands.id');
$bindings = $brands->getBindings();
$sql = $brands->toSql();
$sql = vsprintf(str_replace('?', '%s', $sql), $bindings);
$brands = \DB::select($sql);