0

保存表单时我得到了这个。

Object of class Business\CompaniesBundle\Model\Province could not be converted to int in /Library/WebServer/Documents/business/src/Business/CompaniesBundle/Model/om/BaseCompany.php

<?php
namespace Business\CompaniesBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Business\CompaniesBundle\Model\IndustriesQuery;
use Business\CompaniesBundle\Model\Province;
use Business\CompaniesBundle\Model\ProvinceQuery;

class CompanyType extends AbstractType {
    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder->add('company_name');
        $builder->add('company_description','textarea');
        $builder->add('company_address');
        $builder->add('province_id', 'model', array(
            'class'=>'Business\CompaniesBundle\Model\Province'
            //'query'=> ProvinceQuery::create()->orderByProvinceName()
        ));
        $builder->add('industries', 'model', array(
            'class'=>'Business\CompaniesBundle\Model\Industries',
            'query'=> IndustriesQuery::create()->orderByIndustryName(),
            'multiple'=>true,
            'expanded'=>true,
            'required'=>true
        ));
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver) {
        $resolver->setDefaults(array('data_class'=>'Business\CompaniesBundle\Model\Company'));
    }

    public function getName() {
        return 'company';
    }

知道这里有什么问题吗?

4

1 回答 1

0

通过更改修复它

$builder->add('province_id', 'model', array(
        'class'=>'Business\CompaniesBundle\Model\Province'
    ));

$builder->add('province', 'model', array(
        'class'=>'Business\CompaniesBundle\Model\Province'
    ));

Company 对象的 setProvince 方法需要一个省类型的对象

于 2013-05-30T08:35:21.380 回答