我遇到了一个问题,有以下几点:
DefaultController有一个简单的动作:
/**
* @Route("/register")
* @Template
*/
public function indexAction() {
$oForm = $this->createForm(new RegisterType());
return array(
'form' => $oForm->createView()
);
}
Run Code Online (Sandbox Code Playgroud)
在我的树枝模板中,我尝试使用:
<form action="{{ path('register') }}" method="post"></form>
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
An exception has been thrown during the rendering of a template ("Route "register" does not exist.") in EBTSCustomerBundle:Default:index.html.twig at line 2.
Run Code Online (Sandbox Code Playgroud)
当我在app/config/routing.yml中明确定义"register"路由时:
register:
pattern: /register
defaults: { _controller: EBTSCustomerBundle:Controller:Default:index }
Run Code Online (Sandbox Code Playgroud)
然后它工作正常.找不到任何合理的文档,我认为通过注释定义的路径应该在整个应用程序中可见.
有什么想法吗?
我最近继承了一个已经开始的项目,现在我面临一个挑战。其中一项要求是允许用户在应用程序内创建一个“数据库”,该数据库可以具有可变数量的用户定义列(它是一个类似 excel 的结构)。
这是我当前结构的sqlfiddle。
这是我用来获取行的查询:
select `row`,
group_concat(dd.value order by field(`col`, 1, 2, 3) asc) as `values`
from db_record dr,
db_dictionary dd
where dr.database_id in (1, 2, 3)
and dr.database_dictionary_id = dd.id
group by `row`
order by group_concat(dd.value order by field(`col`, 1, 2, 3) asc);
Run Code Online (Sandbox Code Playgroud)
通过使用 group_concat() 可以实现按任何列排序的能力。
我正在考虑那个设计,因为我对性能和满足要求有一些疑问:
我认为第一个要求是由我在上面粘贴的查询处理的。第二个 - 我也尝试使用 LIKE 向查询添加 HAVING 子句,但它比较了整个 GROUP_CONCAT() 结果。
有人可以建议,当前的数据库结构是否适合此目的并帮助我满足后一个要求?或者也许有更好的方法来解决这个问题?
最后一个问题,是否可以在一个查询中为每一列返回值?在 DB 中,记录如下所示:
-------------------------------------------
| database_id | dictionary_id | row | col | …Run Code Online (Sandbox Code Playgroud)