有没有一个例子可以看看如何在Zend Framework2中使用Zend Forms实现搜索表单。我需要一个每个类别的搜索表单,每个类别在数据库中都有不同的列需要搜索。
让我说我有一个国家类别,在这个类别下有很多元素可以搜索,比如国家名称、属于该县的州、该国所说的语言等等
因此,当用户键入州、国家或语言时,我需要显示所有可能的细节。Zend Framework2中是否已经存在类似模块的东西,或者我应该从头开始实现所有内容。如果我需要从头开始,那么最好的方法是什么。
我使用条令ORM与我的数据库进行通信。因此,如果有人已经在这两方面进行了研究,那么你的建议将不胜感激。
您想通过条令实体中定义的属性来构建zend_form吗?你将不得不
- 使用反射获取所有属性+数据类型+是否可以为null
- 遍历属性(最终实现对不需要的列进行排序的安全机制)
- 在迭代的同时构建zendform,创建相应的zendform_elements
之后,您必须根据从表单中获得的数据创建Doctrine查询,为通过POST获得的每个属性动态设置WHERE语句。
但这不是很可行
在您的情况下,我会建立在全文搜索引擎上,如lucene、弹性搜索或solr。
我不知道ZF2(它是否已经处于可用于生产环境的状态?-一年前我们分析它时,我们决定不使用它),但ZF1有一个类zend_search,可以轻松连接到solr衍生物。
不过我们不使用它,因为它很慢。也许现在ZF2中有更好的实现。。