Хочу для приложения отдавать сущности через GraphQl (просто списки сущностей с фильтрацией по отношениям). Уже есть наполненная бд (postgres), бизнес логика вся на Laravel.
Начал немногу изучать, выбор пал на связку graphql-yoga + TypeORM, но столкнулся с некоторыми трудностями.
Для начала TypeOrm видимо расчитан на то что БД будет создаваться из его миграций, так что при описании сущностей необходимо задавать названия полей, таблицы и pivot таблицы в бд явно. По документации не везде смог с этим разобраться (сейчас уперся в отношения ManyToMany). Плюс очень неодобно отлаживать подобные запросы в консоле
SELECT DISTINCT "distinctAlias"."Doctor_id" as "ids_Doctor_id" FROM (SELECT "Doctor"."id" AS "Doctor_id", "Doctor"."name" AS "Doctor_name", "Doctor"."img" AS "Doctor_img", "Doctor"."date_start_practice" AS "Doctor_date_start_practice", "Doctor"."rating" AS "Doctor_rating", "Doctor__clinics"."id" AS "Doctor__clinics_id", "Doctor__clinics"."name" AS "Doctor__clinics_name", "Doctor__clinics"."description" AS "Doctor__clinics_description", "Doctor__clinics"."institution" AS "Doctor__clinics_institution", "Doctor__clinics"."phone" AS "Doctor__clinics_phone", "Doctor__clinics"."img" AS "Doctor__clinics_img" FROM "doctors" "Doctor" LEFT JOIN "clinic_doctor" "Doctor_Doctor__clinics" ON "Doctor_Doctor__clinics"."doctorsId"="Doctor"."id" LEFT JOIN "clinics" "Doctor__clinics" ON "Doctor__clinics"."id"="Doctor_Doctor__clinics"."clinicsId" WHERE "Doctor"."id" IN ($1)) "distinctAlias" ORDER BY "Doctor_id" ASC LIMIT 1 -- PARAMETERS: ["31"]
Возможно есть более подходящие связки с подробным туториалом или вы мне посоветуете хороших статей или видело на эту тему ? (рус, англ)
Пока нашел для себя
англоязычный канал где не плохо объясняют, но видимо для меня этого маловато.