drccfl9407 2019-05-20 14:23
浏览 270
已采纳

Symfony Insight:如何防止CustomIdGenerator中的“参数中没有实体管理器”警告?

I use SymfonyInsight in a gitlab-ci to improve the code quality of my application. In this app, I need to use a CustomIdGenerator for my entities.

In my analysis, I got a warning error : The Doctrine Entity Manager should not be passed as an argument. This error is detected for the method called "generate" used by the CustomIdGenerator.

<?php


namespace MyApp\Generator;


use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Id\AbstractIdGenerator;

class IDGenerator extends AbstractIdGenerator
{

    /**
     * Generates an identifier for an entity.
     *
     * @param EntityManager $em
     * @param object|null $entity
     * @return int
     * @throws \Doctrine\Common\Persistence\Mapping\MappingException
     * @throws \ReflectionException
     */
    public function generate(EntityManager $em, $entity)
    {
        $class = $em->getMetadataFactory()->getMetadataFor(get_class($entity))->getName();

        $res = <My own logic>

        return $res;
    }
}

My Entity :

<?php


use Doctrine\ORM\Mapping as ORM;

/**
 *
 * @ORM\Table(name="my_table")
 * @ORM\Entity
 */
class Entity
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id_unique", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="CUSTOM")
     * @ORM\CustomIdGenerator(class="IDGenerator")
     */
    private $id;

Is there a way to prevent SymfonyInsight to trigger this error only in this case ?

  • 写回答

1条回答 默认 最新

  • duanguangsong2380 2019-05-21 14:49
    关注

    After discussing with the Symfony on Slack community (https://symfony.com/slack), the fact is that we can not prevent this error with code. The only solution is to prevent scanning for the folder where the CustomIdGenerator is located.

    https://insight.symfony.com/docs/how-to/ignore-a-specific-directory.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装gcc遇到的问题
  • ¥15 求购HI3519AV100开发板
  • ¥15 请问1553 RT怎么测试,没有BC有方法吗
  • ¥100 业务编程如何选择学习方向和内容?
  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 【有偿】调用DXGI截图初始化失败,提示0xf 887a0004
  • ¥15 请问如何查看手机root记录?
  • ¥15 商城小程序订单号重复