- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在将实体保存回给我时遇到问题,出现此错误:
Catchable Fatal Error: Method My\BusinessBundle\Entity\Type::__toString()
must return a string value in
/var/www/MyBusiness0_1/vendor/doctrine/orm/lib/Doctrine/ORM/ORMInvalidArgumentException.php line 113
奇怪的是,方法__toString()是实体Type!
class Type
{
//..
/**
* @var string
*
* @ORM\Column(name="type", type="string", length=100)
*/
private $type;
/**
* @ORM\OneToMany(targetEntity="MailTelCont", mappedBy="type")
*/
protected $mailTelContacts;
public function __construct()
{
$this->mailTelContacts = new \Doctrine\Common\Collections\ArrayCollection();
}
public function __toString()
{
return $this->getType();
}
//...
另一个奇怪的事情是,如果我将cascade ={"persist"} class MailTelCont放在ManyToOne关系“type”上,则不会显示此错误,而是在Type中保存一个新字段..
MailTelCont 类
class MailTelCont
{
//..
/**
* @var string
*
* @ORM\Column(name="contact", type="string", length=100)
*/
private $contact;
/**
* @ORM\ManyToOne(targetEntity="Type", inversedBy="mailTelContacts")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id")
*/
private $type;
/**
* @ORM\ManyToOne(targetEntity="Anagrafica", inversedBy="mailTelContacts", cascade={"persist"})
* @ORM\JoinColumn(name="anagrafica_id", referencedColumnName="id")
* @Assert\Type(type="My\BusinessBundle\Entity\Anagrafica")
*/
private $anagrafica;
public function __toString()
{
return $this->getContact();
}
这样调用嵌套的“AnagraficType”形式:
class TypeType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('type', 'entity', array(
'class' => 'My\BusinessBundle\Entity\Type',
'attr' => array('class' => 'conct'),
'property' => 'type',
'label' => 'Tipologia',
))
;
}
*****
class MailTelContType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('type', new TypeType())
->add('contact', 'text', array('label' => 'Contatto'))
;
}
*****
class AnagraficaType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('mailTelContacts', 'collection', array('type' => new MailTelContType(),
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'by_reference' => false
))
我哪里做错了?
最佳答案
我认为这些值是null
。你尝试过吗:
public function __toString()
{
return (string) $this->getType();
}
和
public function __toString()
{
return (string) $this->getContact();
}
这样,当值为 null
时,将被转换为字符串,并且您不应该得到此异常。
关于Symfony2 __toString() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923359/
我正在构建一个小型 MVC 系统(学习),但在 View 文件中显示变量时遇到一些问题。 这是来 self 的 View 类: private $vars = array(); public
我在将实体保存回给我时遇到问题,出现此错误: Catchable Fatal Error: Method My\BusinessBundle\Entity\Type::__toString() mus
有人能告诉我我做错了什么吗?这是我第一次使用 __toString。我收到以下错误:Catchable fatal error: Method users_class::__toString() mu
我不确定标题应该是什么,但代码应该更好地解释它: class Group { private $number = 20; public function __toString() {
我正在为我正在进行的项目使用 Laravel 4。我需要从帖子中检索第一条评论。我使用以下代码来这样做。 $comments = Comment::where('post_id', $post->id
我创建了一个 Template 类来管理 View 及其相关数据。它实现了 Iterator 和 ArrayAccess,并允许使用“子模板”以便于使用,如下所示: post as $post):
我想将一个对象返回给调用者,它在回显时打印一个字符串,但也有可以访问的属性。如果没有预定义的类和/或大量代码,我如何才能实现这一点? $obj = func(); // an object sho
为什么不能从 __toString() 抛出异常? class a { public function __toString() { throw new Excepti
为什么不能从 __toString() 抛出异常? class a { public function __toString() { throw new Excepti
有没有办法告诉 PHP 如何将你的对象转换为整数?理想情况下,它看起来像 class ExampleClass { ... public function __toString()
我正在部署我的 Symfony2 应用程序,但出现以下错误: FatalErrorException in classes.php line 0: Error: Method Symfony\Comp
使用Symfony2 entity field type应该指定property选项: $builder->add('customers', 'entity', array( 'multipl
感谢所有讨论如何自定义打印表的 Lua stackoverflow 人员。经过大量阅读,我发布以下内容并询问 Lua 大师...... 这是最简单的方法吗? 是不是太简单了(即以某种我不理解的方式损坏
我有这门课: math.randomseed(os.time()) local Die = {} function Die.new(side) if side ~= 4 or side ~= 6
我遇到了一个奇怪的问题,我不确定如何解决它。我有几个类都是 JSON 对象的 PHP 实现。这是问题的说明 class A { protected $a; public functio
有没有办法查看一个对象是否专门实现了 ->__toString?这似乎不起作用: method_exists($object, '__toString'); 最佳答案 有两种检查方式。 假设您有类(c
我了解它的工作原理,但我们为什么要实际使用它? 这和这个不一样吗: random_method(); ?> 我们不能只使用任何其他公共(public)方法来输出任何文本吗?为什么我们需要这样的魔法方
用 C 语言编写 PHP 扩展,我想通过 __toString() 将用户态对象 (IS_OBJECT) 转换为字符串(如果有的话),否则会失败。我应该用什么?我不需要另一个 zval 输出,只需要一
我正在尝试渲染一个模态窗口动态,问题是当返回我的响应 Json 时,我得到下一个错误: The Response content must be a string or object implemen
我创建了一个带有构造函数和 toString 方法的类,但它不起作用。 class Course { protected $course public function __const
我是一名优秀的程序员,十分优秀!