首页 > 解决方案 > 如何编写查询以列出相关模型

问题描述

我有一个雄辩的模型和 graphql 类型First。我有一个雄辩的模型和 graphql 类型Second。他们之间有belongsToMany关系,firsts并且seconds

我想写一个查询,给定一个id模型First,我应该能够返回它的seconds关系列表。

目前我正在通过这样做来实现这一目标。询问

firstSeconds(id: ID!): [Second!]! @paginate(scopes: ["secondsByFirstId"])

第二个模型

    public function scopeSecondsByFirstId($query, $args)
    {
        if (empty($args['id'])) {
            return $query;
        }

        $firstId = $args['id'];
        $first = First::find($firstId);
        $secondIds = $first->seconds()
            ->get()
            ->pluck('id');

        return $query->whereIn('id', $secondIds);
    }

注意:return $first->seconds()对我不起作用,但这是 laravel 的事情。

我想知道是否有一种方法可以在不使用范围和使用基本关系指令的情况下实现这一目标。

注意:我只想要模型的分页列表Second。不是附加First分页关系的模型实例。seconds

标签: laravel-lighthouse

解决方案


推荐阅读