小编lfl*_*gan的帖子

隐藏字段上的Symfony2数据变换器

我搜索过,没有找到任何有这个问题的人.

我已经创建了我自己的数据变换器,如Cookbook中所述,这一切似乎都正确但我收到错误:

表单的视图数据应该是Niche\SecurityBundle\Entity\BusinessUser类的实例,但是是(n)整数.您可以通过将"data_class"选项设置为null或添加将(n)整数转换为Niche\SecurityBundle\Entity\BusinessUser实例的视图转换器来避免此错误.

变压器如下:

<?php
namespace Niche\SecurityBundle\Form\DataTransformer;

use JMS\SecurityExtraBundle\Security\Util\String;

use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;
use Doctrine\Common\Persistence\ObjectManager;
use Niche\SecurityBundle\Entity\BusinessUser;

class BusinessUserToIdTransformer implements DataTransformerInterface
{
/**
 * @var ObjectManager
 */
private $om;

/**
 * @param ObjectManager $om
 */
public function __construct(ObjectManager $om)
{
    $this->om = $om;
}

/**
 * Transforms an object (BusinessUser) to a string (number)
 * 
 * @param BusinessUser|null $businessUser
 * @return String
 */
public function transform($businessUser)
{
    if (null === $businessUser) {
        return "";
    }

    return $businessUser->getId();
}

/**
 * …
Run Code Online (Sandbox Code Playgroud)

php symfony

3
推荐指数
1
解决办法
9707
查看次数

标签 统计

php ×1

symfony ×1