- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建服务:
<?php
namespace AppBundle\Service;
use AppBundle\Repository\GroupEntityRepositoryInterface;
use AppBundle\Repository\GroupUserRepository;
use AppBundle\Repository\GroupUserRepositoryInterface;
use AppBundle\Entity\Group;
use AppBundle\Repository\GroupRepository;
class GroupUserService
{
private $groupRepository;
private $groupUserRepository;
/**
* @param GroupRepositoryInterface $groupRepository
* @param GroupUserRepositoryInterface $groupUserRepository
*/
public function __construct(GroupRepository $groupRepository /*, GroupUserRepositoryInterface $groupUserRepository*/)
{
$this->groupRepository = $groupRepository;
// $this->groupUserRepository = $groupUserRepository;
}
public function deleteGroup(Group $group)
{
$this->groupRepository->delete($group);
}
public function createGroup(Group $group)
{
$this->groupRepository->add($group);
}
}
然后我编写配置以将存储库注入(inject)该服务:
services:
# service_name:
# class: AppBundle\Directory\ClassName
# arguments: ["@another_service_name", "plain_value", "%parameter_name%"]
group_repository:
class: AppBundle\Repository\GroupRepository
factory: ["@doctrine.orm.entity_manager", getRepository]
arguments:
- AppBundle\Entity\Group
group_user_repository:
class: AppBundle\Repository\GroupUserRepository
factory: ["@doctrine.orm.entity_manager", getRepository]
arguments:
- AppBundle\Entity\GroupUser
group_user_service:
class: AppBundle\Service\GroupUserService
arguments: ["@group_repository", "@group_user_repository"]
#arguments:
# - "@group_repository"
我得到错误:
Catchable Fatal Error: Argument 1 passed to AppBundle\Service\GroupUserService::__construct() must be an instance of AppBundle\Repository\GroupRepository, instance of Doctrine\ORM\EntityRepository given, called in E:\other\dropbox\Dropbox\programavimas\kodo pavyzdziai\htdocs\users_admin_demo\var\cache\dev\appDevDebugProjectContainer.php on line 1654 and defined
如果我通过了 GroupRepository,你能解释一下为什么它会得到 EntityRepository 实例吗?以及如何解决?我尝试搜索类似的问题,但几个小时后我没有看到结果。
更新:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\GroupRepository")
* Group
*/
class Group
{
/**
* @var string
*/
private $name;
/**
* @var integer
*/
private $id;
/**
* Set name
*
* @param string $name
*
* @return Group
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}
组.orm.xml:
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="AppBundle\Entity\Group" table="`group`">
<unique-constraints>
<unique-constraint name="UNIQ_6DC044C55E237E06" columns="name"/>
</unique-constraints>
<id name="id" type="integer" column="id">
<generator strategy="IDENTITY"/>
</id>
<field name="name" type="string" column="name" length="255" nullable="false">
<options>
<option name="fixed"/>
</options>
</field>
</entity>
</doctrine-mapping>
最佳答案
定义 App Bundle\Repository\Group Repository
作为 AppBundle\Entity\Group
的存储库
@ORM\Entity(repositoryClass="AppBundle\Repository\GroupRepository")
XML
<entity
name="AppBundle\Entity\Group"
repository-class="AppBundle\Repository\GroupRepository">
</entity>
关于dependency-injection - symfony 3 传递给 [some service]::__construct() 的参数 1 必须是给定的 Doctrine\ORM\EntityRepository [something] 实例的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38542747/
我需要在分页器中显示表中的数据,同时获取子表中记录的计数。有太多子记录无法加载到内存中并进行计数,因此我想修改在我的 EntityRepository 中构建查询的方式。 理想情况下,我不想重新实现寻
当使用 Doctrine2 时 EntityRepository::findBy()我还需要转义我传入的值吗? $em->getRepository('User')->findBy(array('na
我遇到了这个问题我有一个在所有存储库中重复的方法,例如这个方法。 function getAllOrderedBy($column) { $qb = $this->createQueryBui
我在 symfony 框架的上下文中提问。 我想知道这是否是使用魔法查找方法(如 find($id)、findByField($value) 等...)的好习惯。 那些方法既没有返回类型也没有定义。这
为什么我需要在我的存储库中扩展 ServiceEntityRepository? 在 Symfony 3.4 中,我总是扩展 EntityRepository。使用 ServiceEntityRepo
有没有一种方法可以根据特定条件对 Doctrine 2 EntityRepository 对象进行排序,或者如果我想传递特定的排序参数,是否必须使用 DQL 查询? 最佳答案 您可以通过将第二个参数传
有没有一种方法可以根据特定条件对 Doctrine 2 EntityRepository 对象进行排序,或者如果我想传递特定的排序参数,是否必须使用 DQL 查询? 最佳答案 您可以通过将第二个参数传
我在 parameters.ini 中设置了一个变量,但现在我想从 EntityRepository 中检索该变量,而 $this->container 未设置,所以我不能这样做 我应该如何到达容器?
我想知道在 EntityRepository 类中注入(inject) EventDispatcher 的最佳实践是什么。 最佳答案 首先,使用 global 是一个 very bad practic
namespace griffin\UserBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity(repositoryC
对于 Symfony2 项目,我必须在博客文章和所谓的平台之间建立关系。平台根据您用于查看站点的域定义特定过滤器。例如:如果您通过 url first-example.com 加入该站点,该站点将仅提
我正在尝试创建服务: groupRepository = $groupRepository; // $this->groupUserRepository = $groupUserRep
我正在尝试使用 FOSOAuthServerBundle 在我的实际 symfony2 项目中实现 OAuth2。 我一直在关注这个Article来实现它。 由于我不使用 FOS 用户 bundle
我是一名优秀的程序员,十分优秀!