【发布时间】:2015-08-01 22:15:34
【问题描述】:
我在我的项目中创建了一个新服务。该服务是用 XML 配置的。 我想使用 EntityManager 来检索服务中的 som 数据,但我无法将 Doctrine “连接”到我的服务。 目前,我有这个代码:
services.xml
<service id="SiteService.search" class="Site\ProductBundle\Search\SphinxSearch" factory-service="doctrine.orm.entity_manager" factory-method="getRepository">
<argument>Site\ProductBundle\Entity\Product</argument>
</service>
SphinxSearch.php
namespace Dada\FilmsBundle\Search;
use Symfony\Component\DependencyInjection\ContainerAware;
class DadaSearch extends ContainerAware{
//Some stuff
public function fullNoPrivateByTitle($query){
//Call $this->getResultsFromId($idlist);
}
private function getResultsFromId($idlist){
$doctrine = $this->container->get('doctrine')->getManager()->getRepository('SiteProductBundle:Product');
//Rest of the method
}
使用这段代码,我遇到了一个奇怪的错误。似乎 Symfony 认为我的服务是一种新的教义:
未定义的方法“fullNoPrivateByTitle”。方法名必须开始 使用 findBy 或 findOneBy! 500内部服务器错误 - 坏方法调用异常
有人可以帮我配置我的服务吗? 非常感谢。
【问题讨论】:
-
看看这个post它可以帮到你
-
这篇文章对你有帮助吗??
标签: xml symfony doctrine-orm doctrine