【发布时间】:2016-10-16 20:09:21
【问题描述】:
我想解决的问题是我想查看用户列表,然后我想在每个用户旁边有一个复选框来选择用户是否存在或是否存在。在 symfony(实际上是基本 HTML)上,我可以创建一个数组,而不是给我之前在表单上选择的那些 id,但是,我怎样才能将这些信息发送到数据库?因为我在视图上有这些数据(这是 symfony 上的一个 twig 文件)。
到目前为止,我只找到了这个如何从 twig https://www.snip2code.com/Snippet/591299/hackishly-using-SQL-in-Twig-templates-in 创建查询的示例,但它给了我一个错误,因为它无法识别“db”,所以我不能使用它。
那么,有没有办法将该数组发送到数据库? Twig 似乎限制了我的很多选择。谢谢
编辑:正确的方法(因为其他人将来会有这个菜鸟怀疑,就像我一样)是在表单的方法中(通过使用 html 而不是 twig 提供的更容易使其工作)调用方法从控制器而不是你想调用的,在那里你可以使用 $_GET 或 $_POST 获取数据,然后使用教义与数据库进行交互。
【问题讨论】:
-
在您链接的脚本中强调 hackishly 一词。尝试执行 SELECT 已经够糟糕了,但是 INSERT 正在积极修改数据,这确实破坏了 Symfony 试图推广的架构。我建议更多地了解 Twig 的用途(它不应该做 SQL)。我怀疑你想要实现的目标甚至无法用 Twig 完成,因为 Twig 只为每个页面加载运行一次 - 如果你通过提交表单来执行此操作,你将需要 JS 或读取控制器中的数据。
-
@HPierce 感谢您的回复,您的观点是正确的,但是由于我在视图上生成了一个数组(在这种情况下为树枝),我看不到如何将该数组发送到其他数据库试图从树枝上发送它。当然我可以在 userType 文件上创建一个复选框(而不是构建表单),但它只让我每页有一个复选框,即使我把它放在一个“for”中