当我更新实体时,如何爆炸(拆分)TextAreaType的值? 我试过使用twig函数:split,nl2br,raw和symfony CallbackTransformer
但要么它没有改变,要么我有错误:An exception has been thrown during the rendering of a template ("Warning: implode(): Invalid arguments passed").
我该怎么办?感谢。
修改
实体类
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Fournisseurs
*
* @ORM\Table(name="fournisseurs")
* @ORM\Entity
*/
class Fournisseurs
{
/**
* @var string
*
* @ORM\Column(name="Nom", type="string", length=45, nullable=true)
*/
private $nom;
/**
* @var string
*
* @ORM\Column(name="fournisseur", type="string", length=45, nullable=true)
*/
private $fournisseur;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* Set nom
*
* @param string $nom
*
* @return Fournisseurs
*/
public function setNom($nom)
{
$this->nom = $nom;
return $this;
}
/**
* Get nom
*
* @return string
*/
public function getNom()
{
return $this->nom;
}
/**
* Set fournisseur
*
* @param string $fournisseur
*
* @return Fournisseurs
*/
public function setFournisseur($fournisseur)
{
$this->fournisseur = $fournisseur;
return $this;
}
/**
* Get abr
*
* @return string
*/
public function getFournisseur()
{
return $this->fournisseur;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
public function __toString()
{
return $this->fournisseur;
}
}
form type
$builder->add('nom')
->add('fournisseur');
$builder->get('fournisseur')
->addModelTransformer(new CallbackTransformer(
function ($fournisseurAsArray) {
// transform the array to a string
return implode(', ', $fournisseurAsArray);
},
function ($fournisseurAsString) {
// transform the string back to an array
return explode(', ', $fournisseurAsString);
}
));
编辑格式化代码。如果有人可以提供帮助,请提前致谢
答案 0 :(得分:0)
翻转两个功能:
$builder->get('fournisseur')
->addModelTransformer(new CallbackTransformer(
function ($tagsAsArray) {
// transform the array to a string
return implode(', ', $tagsAsArray);
},
function ($tagsAsString) {
// transform the string back to an array
return explode(', ', $tagsAsString);
}
));
请参阅文档中的this example。