choice_value:在非对象上调用成员函数getSlug()

s

我正在使用Symfony 3.2choice_value在formType中使用时出现此错误

Error: Call to a member function getSlug() on a non-object" at D:\wamp\www\my_project\src\AppBundle\Form\Bien\BienType.php line 77 

use AppBundle\Entity\Ville;

//...

->add('ville', EntityType::class, array(
    'class' => 'AppBundle:Ville',
    'label' => 'Ville',
    'choice_label' => 'nom',
    'placeholder' => 'Ville ',
    'multiple' => false,
    'expanded' => false,
    'choice_value' => function ($ville) {
         /** @var Ville $ville */
         return $ville->getSlug();
    },
))

我在另一个使用Symfony 3.1的项目中有相同的代码,并且运行良好,问题出在Symfony的版本上吗?

编辑:

我已经对其进行了测试,choice_label并且可以正常工作而没有任何错误:

'choice_label' => function ($ville) {
    /** @var Ville $ville */
    return $ville->getSlug();
},

编辑2:

今天,我已经安装了Symfony 3.1,并进行了测试,choice_value并且得到了相同的错误,但是自几个月前以来安装的ancien Symfony3.1仍然没有错误。我认为Symfony上进行了一些更新,并导致错误,是否可能?

耶塞鲁托

(从2.7版本开始),该choice_value选项还用于将初始数据转换为字符串值,即,如果传递了闭包函数,那么您也将控制初始数据转换,如果是null,则需要在调用以下代码之前对其进行检查$ville->getSlug()

'choice_value' => function (Ville $ville = null) {
    return $ville ? $ville->getSlug() : '';
},

在这种情况下,typehint很好,您具有签名约束和IDE自动完成功能,但是您需要设置defaultnull以避免null初始数据的typehint异常

我认为应该将其记录下来,因为开发人员期望(像其他人一样choice_*)它'choices'处理选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在choice_value表单定义中的null上调用成员函数getNum()

来自分类Dev

在非对象上调用成员函数fetchAll()

来自分类Dev

在非对象上调用成员函数fill()

来自分类Dev

在非对象上调用成员函数getClientOriginalName()

来自分类Dev

在非对象上调用成员函数getAction()

来自分类Dev

PHP:在非对象上调用成员函数...

来自分类Dev

在非对象上调用成员函数describetable()

来自分类Dev

在非对象上调用成员函数getAttribute()

来自分类Dev

在非对象上调用成员函数bindValue()

来自分类Dev

在非对象上调用成员函数getElementById()

来自分类Dev

“在非对象上调用成员函数 userList()”

来自分类Dev

在非对象Laravel 4.2上调用成员函数where()

来自分类Dev

致命错误:在非对象上调用成员函数insert()

来自分类Dev

Magento-在非对象上调用成员函数getId()

来自分类Dev

在非对象DateTime上调用成员函数format()

来自分类Dev

在非对象上调用成员函数num_rows()

来自分类Dev

致命错误:在非对象上调用成员函数error()

来自分类Dev

致命错误:在非对象上调用成员函数first()

来自分类Dev

Symfony 2错误:在非对象上调用成员函数get()

来自分类Dev

错误:在非对象上调用成员函数paginate()

来自分类Dev

FatalErrorException:错误:在非对象symfony上调用成员函数has()

来自分类Dev

错误:在非对象上调用成员函数get()

来自分类Dev

FatalErrorException:错误:在非对象上调用成员函数has()

来自分类Dev

在非对象上调用成员函数num_rows()

来自分类Dev

致命错误在非对象PHP上调用成员函数login()

来自分类Dev

Codeigniter在非对象上调用成员函数result()

来自分类Dev

Laravel-在非对象上调用成员函数paginate()

来自分类Dev

PHPMailer-在非对象上调用成员函数addReplyTo()

来自分类Dev

在非对象Laravel上调用成员函数getClientOriginalName()

Related 相关文章

  1. 1

    在choice_value表单定义中的null上调用成员函数getNum()

  2. 2

    在非对象上调用成员函数fetchAll()

  3. 3

    在非对象上调用成员函数fill()

  4. 4

    在非对象上调用成员函数getClientOriginalName()

  5. 5

    在非对象上调用成员函数getAction()

  6. 6

    PHP:在非对象上调用成员函数...

  7. 7

    在非对象上调用成员函数describetable()

  8. 8

    在非对象上调用成员函数getAttribute()

  9. 9

    在非对象上调用成员函数bindValue()

  10. 10

    在非对象上调用成员函数getElementById()

  11. 11

    “在非对象上调用成员函数 userList()”

  12. 12

    在非对象Laravel 4.2上调用成员函数where()

  13. 13

    致命错误:在非对象上调用成员函数insert()

  14. 14

    Magento-在非对象上调用成员函数getId()

  15. 15

    在非对象DateTime上调用成员函数format()

  16. 16

    在非对象上调用成员函数num_rows()

  17. 17

    致命错误:在非对象上调用成员函数error()

  18. 18

    致命错误:在非对象上调用成员函数first()

  19. 19

    Symfony 2错误:在非对象上调用成员函数get()

  20. 20

    错误:在非对象上调用成员函数paginate()

  21. 21

    FatalErrorException:错误:在非对象symfony上调用成员函数has()

  22. 22

    错误:在非对象上调用成员函数get()

  23. 23

    FatalErrorException:错误:在非对象上调用成员函数has()

  24. 24

    在非对象上调用成员函数num_rows()

  25. 25

    致命错误在非对象PHP上调用成员函数login()

  26. 26

    Codeigniter在非对象上调用成员函数result()

  27. 27

    Laravel-在非对象上调用成员函数paginate()

  28. 28

    PHPMailer-在非对象上调用成员函数addReplyTo()

  29. 29

    在非对象Laravel上调用成员函数getClientOriginalName()

热门标签

归档