gpt4 book ai didi

search - 如何使用Symfony 2在多个实体上执行搜索

转载 作者:行者123 更新时间:2023-12-02 22:42:31 27 4
gpt4 key购买 nike

我需要对具有相同字符串的几个实体执行搜索,然后对结果进行排序。

我听说过一些有关FOSElasticaBundle的信息,这个 bundle 包可以做到吗?在我看来,几乎有很多功能可用于此目的,但我不确定它是否可以在共享服务器(hostgator)上运行。

目前,我能想到的另一种解决方案是“手动”搜索(通过使用joinunion),但我想知道应该在哪里放置这样的功能:在现有 Controller 中,新 Controller ,新 bundle 包或别的地方?
我也担心此手动解决方案可能会产生成本,尤其是在某些不可索引的字段上。

最佳答案

您将执行自定义实体存储库。 checkout the docs。基本上,这扩展了默认的FindAll,FindOneBy等。

您将具有如下功能:

class MyEntityRepository extends Doctrine\ORM\EntityRepository {
public function findByCustomRule(){
//this is mapped to your entity (automatically adds the select)
$queryBuilder = $this->createQueryBuilder('someAlias');
$queryBuilder->orderBy('...');

//this is mapped to any entity
$queryBuilder = $this->getEntityManager()->createQueryBuilder();
$queryBuilder->select('...');


//result
$result = $queryBuilder->getQuery()->getResult();

}
}

此类在学说映射中定义,并且位于Entity文件夹中。 checkout 文档,您应该得到一个基本的想法。

关于search - 如何使用Symfony 2在多个实体上执行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402742/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com