表单实体类的Symfony错误

时间:2014-06-01 14:31:30

标签: symfony

我正在尝试通过对几个选项字段使用回调来为我的表单添加一些验证规则。 我在文档中看到的这个回调应该在该表单的实体类中。但就我而言,我一直都有这个问题:

“ContextErrorException:注意:/Applications/MAMP/htdocs/bbc/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/ChoiceList/ChoiceList.php第462行中的数组到字符串转换”

我的实体中的代码如下所示:

namespace Cgboard\AppBundle\Forms;

use Cgboard\AppBundle\Classes\Iplayer;

class SearchEntity
{
    public $category;
    public $coming_soon_within;
    public $local_radio;
    public $masterbrand;
    public $max_tleos;
    public $media_set;
    public $page;
    public $perPage;
    public $q;
    public $search_availibity;
    public $service_type;
    public $signed;


    public static function getCategories()  // all this getters are firing the error, why?
    {
        return ['undef',
                'arts',
                'cbcc',
                'comedy'];
    }

    public static function getLocalRadio()
    { 
     ......

我想使用我的validation.yml文件中的这些回调,看起来像这样:

Cgboard\AppBundle\Forms\SearchEntity:
  properties:
    category:
      - Choice: { callback: getCategories }
    coming_soon_within:
      - Range:
          min: 1
          max: 168
    local_radio:
      - Choice: { callback: getLocalRadio }
    masterbrand:
      - Choice: { callback: getMasterbrand }
    ....

即使我从validation.yml中删除了整个内容,我仍然有错误。所以我认为问题只与实体表单类有关。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

因为我觉得对其他人来说很方便。问题是我使用getter(例如getLocalRadio)为SYmfony使用的内部getter创建冲突。我只是更改了这些吸气剂的名称,一切正常