Size: a a a

Sequelize - community (eng/ru)

2021 February 03

С

Сергей in Sequelize - community (eng/ru)
в таблице пользователей хранится просто social_id
источник

С

Сергей in Sequelize - community (eng/ru)
надо сначала поэтому обратиться к ней
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Покрайней мере зачем вам для социал две связи
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Там же одинаковые условия
источник

С

Сергей in Sequelize - community (eng/ru)
чтобы она связывалась по user2_id
источник

С

Сергей in Sequelize - community (eng/ru)
или можно как-то иначе?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Просто заюзайте в обох кейсах social1 связь
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Должно получиться
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Успехов
источник

С

Сергей in Sequelize - community (eng/ru)
да вроде всё правильно же генерируется
источник

С

Сергей in Sequelize - community (eng/ru)
вот запрос:
SELECT "Orders".*,
"user1"."id" AS "user1.id",
"user1"."role_id" AS "user1.role_id",
"user1->social1"."id" AS "user1.social1.id",
"user1->social1"."provider" AS "user1.social1.provider",
"user1->social1"."data" AS "user1.social1.data",
"user2"."id" AS "user2.id",
"user2"."role_id" AS "user2.role_id",
"user2->social2"."id" AS "user2.social2.id",
"user2->social2"."provider" AS "user2.social2.provider",
"user2->social2"."data" AS "user2.social2.data"
FROM "orders" AS "Orders"
LEFT OUTER JOIN "users" AS "user1" ON "Orders"."user1_id" = "user1"."id"
LEFT OUTER JOIN "social" AS "user1->social1" ON "user1"."soc_id" = "user1->social1"."id"

LEFT OUTER JOIN "users" AS "user2" ON "Orders"."user2_id" = "user2"."id"
LEFT OUTER JOIN "social" AS "user2->social2" ON "user2"."soc_id" = "user2->social2"."id"

ORDER BY "Orders"."id" DESC;
источник

С

Сергей in Sequelize - community (eng/ru)
как тут иначе связать что-то понять не могу
источник

С

Сергей in Sequelize - community (eng/ru)
чтобы получить вторую связь:
LEFT OUTER JOIN "users" AS "user2" ON "Orders"."user2_id" = "user2"."id"
LEFT OUTER JOIN "social" AS "user2->social2" ON "user2"."soc_id" = "user2->social2"."id"
источник

С

Сергей in Sequelize - community (eng/ru)
если не добавить вот эти связи:
models.Orders.belongsTo(models.Users, {as: "user2", foreignKey: 'user2_id'});
models.Users.belongsTo(models.Social, {as: "social2", foreignKey: 'social_id'});

то не сгенерируется же эта часть запроса:
LEFT OUTER JOIN "users" AS "user2" ON "Orders"."user2_id" = "user2"."id"
LEFT OUTER JOIN "social" AS "user2->social2" ON "user2"."soc_id" = "user2->social2"."id"
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
если работает то оставте как есть)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
но там можно юзать связь social1, в двух случаях как я понял.
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
успехов
источник
2021 February 04

С

Сергей in Sequelize - community (eng/ru)
спасибо, не могли бы показать примером? в таблице ордерс просто 2 поля для user_1 и user_2
источник

С

Сергей in Sequelize - community (eng/ru)
вопрос снимается, сделал в итоге raw query, так как не нравилось ему при повторном запросе, что 2 связи забиндины одинаковых, да и в запросе нет входящих параметров из вне, сойдёт и так, и нет теперь ещё и лишних данных)
источник

RA

Roman Adigezalov in Sequelize - community (eng/ru)
Всем привет. Скажите, пожалуйста, как сделать.
Работаю с пакетом sequelize и БД MySQL
Необходимо создать новую запись в таблице и вернуть эту запись уже с приинклюденными данными из другой таблицы.
Подскажите, пожалуйста, как это правильно сделать?
На данный момент пытаюсь так... но походу неверно
Model.create({data...}, {include: [Model_2, Model_3]})
источник