Size: a a a

GraphQL — русскоговорящее сообщество

2021 November 21

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
Он это делает двумя запросами?
источник

𝘂

𝘂𝘅𝗻𝗮𝗺𝗲... in GraphQL — русскоговорящее сообщество
/trust
источник

S

Shieldy in GraphQL — русскоговорящее сообщество
Принято!
источник

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
источник

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
Меня смущает также то, что всё это безобразие работает и работает, к удивлению, правильно.
Но, опять же, это +1 запрос на каждую категорию. Не знаю, правильно ли это, или же нет.
источник

M

Murka in GraphQL — русскоговорящее сообщество
источник

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
Увидел, спасибо огромное!
источник

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
Вопрос теперь в другом.
У меня есть связь one-to-many (категории к продуктам).
Немножко не хватает маргарина на реализацию грамотного DataLoader.
Кто-нибудь может мне объяснить, возможно ли это? В примерах которые я просмотрел было связь один-к-одному.
Не до конца понимаю, каким образом DataLoader распределяет данные.
источник
2021 November 22

ММ

Максим Мартынов... in GraphQL — русскоговорящее сообщество
Dataloader по сути сводится к двум вещам:
1. Отдельные запросы, которые получают по каждой записи в таблице связанную с ней запись из другой таблицы, заменяются на один запрос с WHERE column in (...), где в условие подставляются идентификаторы нужных записей.
2. Результаты запросов кэшируются, ключ - идентификатор+тип сущности.

Допустим, у тебя в таблице products есть поле category_id, которое ссылается на запись в таблице categories.

Если ты хочешь получить по списку продуктов их категории, дело обстоит так.
Первый запрос FROM products WHERE ... вернет нужные тебе продукты, затем dataloder возьмет все уникальные значения колонки category_id, и по ним будет выполнен один единственный запрос FROM categories WHERE id in (123, 456, ...).
Без dataloader будет выполнен миллион отдельных запросов с условием WHERE id = 123 и т.п.

А кэш позволяет не загружать те сущности, информацию по которым ты уже получал в текущей сессии - такая категория или пользователь будут просто исключены из условия в WHERE.

Так лечится проблема с рекурсивными запросами типа:
getUsers {
 id
 name
 group {
   id
   name
   members {
     id
     name
  }
}
источник

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
А если я хочу получить категории с продуктами?
источник

ММ

Максим Мартынов... in GraphQL — русскоговорящее сообщество
Ровно то же самое, только наоборот - FROM products WHERE category_id in (123, 345, ...)
источник

DS

Dmitriy Sideltsev in GraphQL — русскоговорящее сообщество
Хм. Но я же получаю оттуда массив в условных двадцать единиц, в то время как категорий всего пять.
Как даталоадер понимает, какие объекты идут в первую категорию, а какие во вторую?
источник

ММ

Максим Мартынов... in GraphQL — русскоговорящее сообщество
По колонке category_id, очевидно
источник

(

(Лёшик)³ in GraphQL — русскоговорящее сообщество
Здравствуйте. Нужен программист для разработки простого сайта.
Наша компания занимается тем, что предоставляет услуги фотографа в ресторанах США. Нужно создать сайт где клиент сможет приобрести свою фотографию.
За более подробной информацией пишите в личные сообщения.
источник

I

I in GraphQL — русскоговорящее сообщество
Для работы с беком графкуель юзаете?
источник
2021 November 23

П

Павел) in GraphQL — русскоговорящее сообщество
На фронте юзаю apollo
Не уходят запросы, пишет
Failed To Construct 'Request': Request With GET/HEAD Method Cannot Have Body.

не подскажете, в чём дело?
источник

Oo

OiO oio in GraphQL — русскоговорящее сообщество
Ищу опытного кодера который делает лендинги под товарку
(Обязательно иметь портфолио и работа строго через гаранта ! )
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Зачем вы их ищите не в профильных чатах?
источник

Oo

OiO oio in GraphQL — русскоговорящее сообщество
Не знаю таких )
источник

y

yel' in GraphQL — русскоговорящее сообщество
щас бы лэндинги верстать
источник