使用 Ecto 的原始 SQL

2024-01-29

我对 Elixir 和 Phoenix Framework 的世界还很陌生。我正在尝试遵循 TheFireHoseProject 教程,但在使用 Ecto 查询原始 SQL 时遇到问题。该教程说这应该有效:

defmodule Queries do
def random do
  query = Ecto.Adapters.Postgres.query(
    Repo,
    "SELECT id, saying, author from quotes ORDER BY RANDOM() LIMIT 1",
    [])
  %Postgrex.Result{rows: [row]} = query
  {id, saying, author} = row
  %Splurty.Quote{id: id, saying: saying, author: author}
end
end

我收到运行时错误,指出 Ecto.Adapters.Postgres.query 不存在(未定义函数)。

我尝试搜索 Ecto 文档,发现可能有一个名为 run_query 的函数,但它也不起作用。

我想我正在使用 Ecto 1.1.4,但我没有找到任何好的(最新)示例来说明如何使用 Ecto 查询原始 SQL。

firehose项目的链接是:http://phoenix.thefirehoseproject.com/ http://phoenix.thefirehoseproject.com/


alias Ecto.Adapters.SQL

querystring = "..."

result = SQL.query(Repo, querystring , [])

然后您可以将结果添加到列表中,例如如下所示:

list = []

case result do
  {:ok, columns} ->
            list = for item <- columns.rows do
                List.first(item)
            end
  _ -> IO.puts("error")
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Ecto 的原始 SQL 的相关文章

随机推荐

  • React Native:通过本机模块获取设备名称,无需回调

    我想使用本机模块而不使用外部库来获取 iOS 设备名称 根据 React Native 的文档 React Native 桥是异步的 因此将结果传递给 JavaScript 的唯一方法是使用回调或发出事件 然而 文档还解释说 您可以将常量导
  • 在c#中使用oledb获取Excel数据范围

    我想通过使用 oledb 获取 Excel 工作表使用的数据范围 代码如下 String strExcelConn Provider Microsoft Jet OLEDB 4 0 Data Source E DOTNET CrsMicro
  • 外部车把模板骨干木偶

    在我的应用程序中 我添加了 Marionette sync 插件并覆盖这些方法 Backbone Marionette TemplateCache prototype loadTemplate function templateId cal
  • 具有重复组的正则表达式

    我一直在尝试匹配连字符之间的短语 我意识到我可以轻松地拆分连字符并取出短语 但我的等效正则表达式无法按预期工作 我想了解原因 只是我对短语的定义 只是非捕获空格分隔的连字符 so 正在捕获连字符或行尾 最后 整个内容用括号括起来 量词匹配多
  • AngularJs + ServiceStack 应用程序的安全性

    我有一个前端有四个模块的应用程序 我试图在前端尽可能多地使用 AngularJs 我正在使用一个空的网站 asp net 项目来托管所有文件和 REST serviceStack 我的项目具有以下结构 web config global a
  • ReactJS中子父组件通信

    我喜欢在事件触发时将属性 property props state 值从子组件发送到父组件onDrag 我找不到这方面的正确文档 这是我的代码 jsx React DOM var APP React createClass getIniti
  • jQuery:将 TextArea 内容转换为 html 字符串,反之亦然

    我想做的是将 TextArea 内容转换为有效的 html 代码 假设您在 TextArea 内键入内容 然后按下一个按钮 该按钮会在元素内显示键入的文本 如果您在 TextArea 中输入类似内容 嗨伙计 你喜欢 jQuery 吗 I d
  • Sphinx 过滤器 - 过滤器属性之间可以有“OR”吗?

    我正在使用 sphinx 列出数据库中的一些项目 几乎100 我只是还没弄清楚如何创建一个OR两个不同的过滤器之间 例如 我在数据库中的对象有开始日期和结束日期 我可以filter starting date x y and filter
  • jquery-file-upload 插件:如何更改上传路径?

    我正在尝试使用 blueimp jquery file upload 插件 似乎是一个很好的上传器 但文档没有帮助 当我使用可下载的演示脚本时 一切正常 但是 当我想更改上传路径时 这不起作用 我尝试在index php中更改操作路径 如下
  • Iterable> 无法确认函数中的泛型 T

    这是我的问题 const iterable 1 2 3 function flat
  • ASP.NET Core 使用多种身份验证方法

    同时使用 Cookie 身份验证中间件和 JWT 身份验证中间件 当我登录用户时 我创建自定义声明并将其附加到基于 cookie 的身份 我还从外部源获取一个 jwt 令牌 它有自己的声明 我使用此令牌来访问外部资源 启用身份验证时 我的控
  • 选择列表的字典键和值

    Dictionary
  • RecyclerView 平滑滚动到中心位置。安卓

    我正在使用水平布局管理器RecyclerView 我需要做RecyclerView接下来的方式 当单击某个项目时 平滑滚动到该位置并将该项目放在中心RecyclerView 如果可能的话 例如 从 20 项中选择 10 项 所以 我没有问题
  • 在 postgres 中创建超级用户

    我正在寻找使用 Vagrant 设置 Rails 环境 为此 它是通过 bash shell 方法配置的 其中包括以下行 sudo u postgres createuser
  • Django:从数据库获取一个对象,如果没有匹配的则为“无”

    是否有任何 Django 函数可以让我从数据库中获取对象 或者如果没有匹配则没有 现在我正在使用类似的东西 foo Foo objects filter bar baz foo len foo gt 0 and foo get or Non
  • Laravel 5.5 Collection 哪里喜欢

    我正在使用集合过滤数据 但我需要使用类似的方法 我曾尝试这样写 name LIKE value 但它不起作用 这是我的方法 protected function filterData Collection collection transf
  • 消除“switch”语句[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 消除使用的方法有哪些switch代码中的语句 Switch 语句本身并不是反模式 但如果您正在编写面向对象的代码 则应该考虑是否可以更
  • 在将连续查询添加到生产 influxdb 之前测试连续查询的最佳方法是什么?

    将新的连续查询添加到生产数据库 influxdb 的最佳方法是什么 克隆生产 influxdb 吗 我希望避免这种情况 有没有一种好的方法可以通过网络管理界面来测试和尝试它们 我想你可以 创建临时测量 设置 CQ 插入一些示例数据并在 CQ
  • 删除 Windows Phone 芒果中的后备条目

    我如何删除 wp7 1 中的后退堆栈 我有 3 个页面 当我从 A 导航到 B 时 说 A B C 在 B 中有一个按钮可以添加新的联系方式 当我单击它时 页面导航到页面C 和在页面 C 中有一个 完成 按钮 当我单击 完成 按钮时 页面导
  • 使用 Ecto 的原始 SQL

    我对 Elixir 和 Phoenix Framework 的世界还很陌生 我正在尝试遵循 TheFireHoseProject 教程 但在使用 Ecto 查询原始 SQL 时遇到问题 该教程说这应该有效 defmodule Queries