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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)