Size: a a a

2020 April 01

AB

Alex Bubnov in pro.elixir
типа, можно ли join table(employment в примере) склеить с right entity table(person)
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
типа, можно ли join table(employment в примере) склеить с right entity table(person)
Хороший вопрос, а ты проверял?
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Хороший вопрос, а ты проверял?
нет, я потому и спрашивал.
может кто-то уже знает, паттерн мне кажется всё же распространенным.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Alex Bubnov
типа, можно ли join table(employment в примере) склеить с right entity table(person)
Всмысле склеить, внутри схемы?
источник

AB

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

LL

Lama Lover in pro.elixir
Я думаю так не получится, потому что ecto не далеко уходит от функционала баз данных, он вообще всё делает максимально явно. Он добавляет парочку опций для приятного прелоада и слегка упрощает джойны, но все эти вещи всё равно явно вызываются. Поэтому, я думаю, такого функционала там нет, но никто и не запрещает захуярить свой комбайн
источник

ŹR

Źmićer Rubinštejn in pro.elixir
У схемы есть source
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И это как бы таблица
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Или view
источник

LL

Lama Lover in pro.elixir
Экто вообще построен по принципу наименьшей неожиданности: если схема, то под ней таблица или вьюха; если нет Repo, то запрос не выполняется; если нет preload, но нет прелоада
источник
2020 April 02

ID

Ilya Desyatov in pro.elixir
Доброе утро всем!
не подскажете как вы храните состояние, допустим которое пришло с контроллера в компонент liveview?
И еще вопрос. Нужен ли вообще контроллер, может вместо него можно использовать сразу компонент. Если да то в каких случаях?
Всем спасибо
источник

LL

Lama Lover in pro.elixir
Ilya Desyatov
Доброе утро всем!
не подскажете как вы храните состояние, допустим которое пришло с контроллера в компонент liveview?
И еще вопрос. Нужен ли вообще контроллер, может вместо него можно использовать сразу компонент. Если да то в каких случаях?
Всем спасибо
1) Полностью зависит от данных и характера доступа к ним. Можешь попробовать сделать GenServer, который бужет хранить данные у себя в стейте

2) Компонент обрабатывает эвенты компонента (например, нажатие на какую-нибудь кнопочку). Контроллер обрабатывает всё, что пошлёт к нему роутер

Между слов скажу, что с LiveView можно неплохо обжечься, если это твоя первая попытка подружиться с эликсиром
источник

AB

Ayrat Badykov in pro.elixir
Использование GenServer'а только для хранения состояния плохой подход
источник

AB

Ayrat Badykov in pro.elixir
Agents are a simple abstraction around state.
источник

AB

Ayrat Badykov in pro.elixir
Оффтоп. Написал пакет для эмакса для удобной работы с миксом в umbrella проектах. Может, кому-то будет полезно https://github.com/ayrat555/mix.el
источник

ID

Ilya Desyatov in pro.elixir
спасибо) У меня проблема в том что происходит мутация данных при селекте и данные пропадают. Происходит выборка а уже потом этих данных нет. Я бы мог подгружать в handle_event данные каждый раз но это не правильно
источник

LL

Lama Lover in pro.elixir
Ayrat Badykov
Использование GenServer'а только для хранения состояния плохой подход
Это правда
источник

LL

Lama Lover in pro.elixir
Ilya Desyatov
спасибо) У меня проблема в том что происходит мутация данных при селекте и данные пропадают. Происходит выборка а уже потом этих данных нет. Я бы мог подгружать в handle_event данные каждый раз но это не правильно
Что?
источник

ID

Ilya Desyatov in pro.elixir
хотя я кажись понял
источник

AF

Alexander Fyodorov in pro.elixir
Ayrat Badykov
Использование GenServer'а только для хранения состояния плохой подход
источник