Size: a a a

2020 April 01

ŹR

Źmićer Rubinštejn in pro.elixir
Можешь сделать view себе если хочется
источник

AB

Alex Bubnov in pro.elixir
=(
источник

MS

Mikhail Spiridonov in pro.elixir
Alex Bubnov
Переслано от Alex Bubnov
о, кстати, про экто
предположим, у нас есть три таблицы
company(id, name)
person(id, name)
employment(company_id, person_id, position)


как написать схему Employee, такую что в ней есть поля position и name(person.name), а Company(тривиальная) has_many Employee?
Что-то мне это неуловимо напоминает...
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А вот интересно, как бы ты потом этот Employee апдейтил?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Одним запросом две таблицы сразу?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Типа «похер на эксплисит»
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Одним запросом две таблицы сразу?
я не очень понимаю, почему вдруг одним запросом. это какие-то свойства экто, которых я не знаю?
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Переслано от Alex Bubnov
о, кстати, про экто
предположим, у нас есть три таблицы
company(id, name)
person(id, name)
employment(company_id, person_id, position)


как написать схему Employee, такую что в ней есть поля position и name(person.name), а Company(тривиальная) has_many Employee?
Зачем писать таблицу, когда эти данные уже есть в базе. Для таких слуаев есть вьюхи или можно джойнить
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Зачем писать таблицу, когда эти данные уже есть в базе. Для таких слуаев есть вьюхи или можно джойнить
так я же не про таблицы спрашиваю, а про маппинг в приложении
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
так я же не про таблицы спрашиваю, а про маппинг в приложении
Можешь сделать схему по вьюхе. В документации к ecto написано что он так умеет. Только вот записывать данные по этой схеме придётся аккуратно в транзакции
источник

AB

Alex Bubnov in pro.elixir
Mikhail Spiridonov
Что-то мне это неуловимо напоминает...
я вообще не понимаю, о чем конкретно ты сейчас.
в принципе, у нас были и есть похожие штуки, но это вообще довольно часто встречающийся паттерн.
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Можешь сделать схему по вьюхе. В документации к ecto написано что он так умеет. Только вот записывать данные по этой схеме придётся аккуратно в транзакции
а какие-то данные можно записывать не в транзакции?..
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если ты одну таблицу модифицируешь - можно не в транзакции
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Alex Bubnov
я вообще не понимаю, о чем конкретно ты сейчас.
в принципе, у нас были и есть похожие штуки, но это вообще довольно часто встречающийся паттерн.
Честно говоря никогда не встречал такого паттерны
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я даже смутно могу себе представить, где же нужен person без своего id
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я бы возвращал

Employment |> preload person

И вангую это было бы то что надо почти везде
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Если ты одну таблицу модифицируешь - можно не в транзакции
да не бывает никаких модификаций "не в транзакции"
но ладно, это вопрос точки зрения
источник

AB

Alex Bubnov in pro.elixir
Źmićer Rubinštejn
Я даже смутно могу себе представить, где же нужен person без своего id
кажется, я недостаточно понятно вопрос описал, да
источник

LL

Lama Lover in pro.elixir
Я думаю тут подойдёт и join_through в many_to_many
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Я думаю тут подойдёт и join_through в many_to_many
да, он подойдет, и им можно обойтись, но меня интересовал уровень гибкости маппинга
источник