Ecto - это предметно-ориентированный язык для написания запросов и взаимодействия с базами данных в Elixir.
1 ответ

Ecto - проверить наличие связанной модели

Как можно проверить наличие связанной модели в Ecto? schema "foo" do has_many: bar, Bar timestamps end @required_fields ~w(bar) # invalid Есть ли способ сделать это? И проверить количество мин / макс этих полей?
26 июн '15 в 12:32
1 ответ

Как работать с Phoenix Framework с Mongodb?

Я пытаюсь использовать феникс фреймворк с mongodb в качестве базы данных, поэтому я запускаю следующую команду, чтобы начать mix phoenix.new helloworld --database mongodb мой mix.exs файл выглядит так: defp deps do [{:phoenix, "~> 1.2.1"}, {:phoe…
20 мар '17 в 04:45
1 ответ

Построение карты JSON для самоссылающейся модели Ecto

У меня есть модель Ecto как таковая: defmodule Project.Category do use Project.Web, :model schema "categories" do field :name, :string field :list_order, :integer field :parent_id, :integer belongs_to :menu, Project.Menu has_many :subcategories, Pro…
03 сен '15 в 15:53
1 ответ

Экто выбирает отношения из предзагрузки

У меня есть запрос, который тянет в отношениях для использования в API JSON. Если я исключаю оператор выбора, он работает нормально, однако, когда я включаю оператор выбора, отношения не отображаются. Мне нужно, чтобы оператор select включал подзапр…
24 мар '17 в 22:47
1 ответ

Как использовать модуль Repo в моем файле модели

В моем коде модели тега schema "tags" do field :name, :string field :parent, :integer # parent tag id timestamps end def add_error_when_not_exists_tag_id(changeset, params) do tags = Repo.all(Tag) is_exists_tag_id = Enum.reduce(tags, fn(x, acc) -&gt…
27 ноя '15 в 16:59
1 ответ

Проверьте ISO8601 start_time до конечного времени ISO8601 в elixir/ecto/timex

Я работаю над запросом json, используя phoenix, где у меня есть start_time и end_time в формате ISO8601, и я хочу проверить, что end_time равен> start_time, поэтому, учитывая: { "start_time": "2016-07-07T01:00:00+02:00", "end_time": "2016-07-07T01:3…
22 апр '16 в 21:04
1 ответ

Ecto.DateTime и часовые пояса

Есть ли способ настроить объекты Ecto.DateTime для часового пояса? Я хотел бы прочитать Ecto.DateTime из базы данных, но затем настроить его для часового пояса, назначенного пользователем? Кроме того, я хотел бы принять ввод данных и преобразовать и…
17 авг '16 в 06:04
1 ответ

Экто ассоциированный на пустой список

Я хочу получить на языке кучу статей, из которых у меня есть удостоверение личности. Я пытаюсь что-то вроде этого: Repo.all(from a in Article, where: a.id in ^article_ids) |> Ecto.assoc(:language) |> Repo.all Это прекрасно работает, когда перв…
02 фев '18 в 18:37
1 ответ

Как использовать сложное ограничение в экто?

Это то, что я хочу реализовать 1. Customer can create a contact with name and phone number. 2. Customer can not create a contact with already existing phone number. Так я и сделал это... schema "people" do field :name, :string field :phone_number, :…
24 май '18 в 21:01
1 ответ

Пользовательские типы Ecto: как представить поле в модели как определенный тип?

У меня есть схема, где я хочу, чтобы одно из полей было представлено в виде %Cm{value: 1.0} (для сантиметровых единиц). Я определил этот тип обычая: defmodule Db.Types.Cm do alias Units.Cm @behavior Ecto.Type def type, do: :float def cast(%Cm{value:…
10 сен '16 в 21:27
1 ответ

Phoenix/Elixir/Ecto.CastError: Невозможно привести значение `"new"` in `where` для ввода:id в запросе: from u в MyApp.User,

Я использую Программирование Phoenix, добавляя функцию "Новый пользователь" в свое приложение: Я получаю следующую ошибку: deps/ecto/lib/ecto/repo/queryable.ex:188: value `"new"` in `where` cannot be cast to type :id in query: from u in Microflow.Us…
23 мар '16 в 04:54
1 ответ

Виртуальные модели в экто

Есть ли способ определить виртуальную модель в экто. Которые не имеют migration file а также don't persist in the data base, Я не нашел никакой документации, связанной с этим в Ecto Docs. Мне нужно это, чтобы проверить некоторые функции в iex. Для т…
23 май '18 в 06:34
1 ответ

Как добавить несколько внешних ключей в одну строку во многих ко многим в экто

Можно ли вставить несколько много ко многим отношениям в одном? например, у меня есть таблица AccessList, в которой есть company_id, user_id, role_id, asset_id и project_id Они все много ко многим. AccessList является справочной таблицей. Вот схема …
23 ноя '17 в 04:46
1 ответ

Эликсир экто: тестовая ассоциация has_many

Я новичок в эликсире, поэтому не будьте слишком резкими, у меня есть следующие модели: defmodule MyApp.Device do use MyApp.Web, :model schema "devices" do field :name, :string belongs_to :user, MyApp.User timestamps end end defmodule MyApp.User do u…
20 май '16 в 15:56
2 ответа

Как отформатировать временную метку Ecto

Я хотел бы использовать в своем шаблоне только день и месяц метки времени inserted_at что Экто автоматически создает (2017-04-10 16:22:43) когда используешь: <%=i.inserted_at%> На сегодняшний день, каков наилучший способ сделать это?
10 апр '17 в 23:57
1 ответ

Объекты формы с каркасом Elixir и Phoenix

Интересно, есть ли способ создания объектов формы с Elixir а также Phoenix фреймворк? Я хочу реализовать что-то похожее на то, что reform драгоценный камень делает в Rails потому что мне не нравится, когда в каждом случае выполняются одинаковые пров…
13 авг '15 в 12:16
2 ответа

Добавление виртуального поля к объекту

def list_links_count do query = from l in Link, join: c in Click, as: :click, where: c.link_id == l.id, group_by: l.id, select: {l, count(l.id)} query |> Repo.all end У меня есть функция, которая подсчитывает количество кликов на ссылку. Проблем…
06 фев '19 в 16:51
1 ответ

Запрос имеет множество ассоциаций - Экто, Феникс

Я пытаюсь запросить все лиги, принадлежащие конкретному пользователю в моей системе. Настройка данных выглядит следующим образом: ПОЛЬЗОВАТЕЛЬСКАЯ МОДЕЛЬ: has_many :users_leagues, Statcasters.UsersLeagues has_many :leagues, through: [:users_leagues,…
09 дек '17 в 04:38
2 ответа

Пожалуйста, почему я теряю данные об ассоциациях детей при сбое вставки ecto changeset?

Таким образом, у меня есть схема клиента, которая принадлежит схеме пользователя и имеет одну схему компании (необязательно). Вот набор изменений клиента, который я использую с формой регистрации: @doc false def create_changeset(%Client{} = client, …
25 янв '18 в 17:37
1 ответ

Потоки базы данных на запрос с использованием Ecto

Типичное веб-приложение Elixir обычно имеет серверную часть postgresql с Ecto запросы в сочетании с логикой API. Однако так как cowboy создает ребенка GenServer процесс (содержащий логику приложения) для каждого запроса будет иметь эффект создания n…
03 окт '17 в 11:48