gpt4 book ai didi

php - 从 Eloquent 辅助表中选择所有字段

转载 作者:行者123 更新时间:2023-11-30 22:03:11 33 4
gpt4 key购买 nike

我的查询没有结束有什么原因吗?,我尝试在 Eloquent 连接中从辅助表中获取所有值:

   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 的现有产品的所有品牌

最佳答案

好吧,我不知道为什么 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);

关于php - 从 Eloquent 辅助表中选择所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42729883/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com