如何在 Laravel 上正确构建查询?

时间:2021-07-15 11:38:52

标签: php laravel eloquent-relationship

我提前感谢您的回答!

有分类

  • 类别(一个)1⟶n 产品(许多)
  • 产品(许多)m⟶n 商店(一个)
  • 商店(一个)1⟶n ADDRESS_CITY(许多)

类别 → 产品 → 商店 → 地址城市

您必须选择所有符合以下条件的类别:

  • 至少有 1 个产品 // 有
  • 此产品必须有地址位于加利福尼亚的商店

我尝试构建一个查询,它不起作用,文档中只有hasManyThrough方法
跳过 1 个表,这里还有更多。或者我什至是愚蠢的)
帮助构建查询!

另一个问题:如果我有 100 万个产品和 1000 个商店,请求会被正常处理还是我需要寻找其他 FEATURES:

  • id_city 以 JSON 格式保存在 PRODUCTS 中
  • id_city 以 JSON 格式保存在 STORE 中

1 个答案:

答案 0 :(得分:0)

$result = Category::where('on_off', 1)
    ->whereHas('product', function ($query) use ($city_one) {
        $query->where('on_off', 1)

            ->whereHas('shop', function ($query) use ($city_one) {
                $query->where('on_off', 1)

                    ->whereHas('shop_map_point', function ($query) use ($city_one) {
                        $query->where('city_id', $city_one->id);
                    });
            });
    })
    ->get();
相关问题