Настройка
A Феникс 1.4.11 Приложение с этим ресурсом:
mix phx.gen.html Institutions SchoolType school_types name
Проблема
Я хочу найти первый school_type
с указанным именем. Если этого не существует, я хочу его создать. В ActiveRecord я бы использовал first_or_create
.
У меня есть этот код, который работает. Но это выглядит не очень хорошо, и, вероятно, есть лучший, более чистый способ решения этой проблемы.
school_type_name = "Example"
if school_type_name != nil do
query =
from s in SchoolType,
where: s.name == ^school_type_name,
limit: 1
case Repo.one(query) do
nil ->
{:ok, _school_type} =
Institutions.create_school_type(%{
name: school_type_name
})
_ ->
nil
end
school_type = Repo.one(query)
end
Как мне решить эту проблему?