我是Symfony2的初学者,我在使用Doctrine时遇到了问题。 我已经为现有数据库创建了一个实体,我可以使用Doctrine在数据库中使用findById,findByAuthor等函数进行搜索。 我的下一步是创建一个HTML表单,用户可以在其中输入多个参数。 我的目标是,Doctrine现在在数据库中搜索所有实体,这些实体匹配所有/至少一个参数。 我希望我可以使用输入数据的实体来做到这一点,但我不知道如何。
希望你理解我的意思并且可以帮助我:)。
迎接
答案 0 :(得分:0)
您需要使用自定义查询执行此操作。这主要是通过DQL完成的。
至于使这个无缝,你需要创建一个custom repository类,如果尚未完成查询。这似乎有点开销。我经历了寻找替代品的那个阶段。但最后,它很简单。
当要求实体类型的存储库时,Doctrine将只为您提供您的类的实例,它将是透明的。
答案 1 :(得分:0)
对于简单条件,您可以使用findBy
方法。
使用$em
实体管理器
$em->getRepository('YourBundle:YourEntity')->findBy(array(
'id' => $id,
'author' => $author));
更多信息with the Doctrine documentation
对于更复杂的条件,您必须使用DQL