I'm starting with Symfony 3 and EasyAdminBundle. My problem is when I tried to edit or create a entity with a foreign key I get an Exception:
"Catchable Fatal Error: Object of class Proxies__CG__\AppBundle\Entity\Modelo could not be converted to string 500 Internal Server Error - ContextErrorException" in vendor\symfony\symfony\src\Symfony\Bridge\Doctrine\Form\Type\DoctrineType.php at line 59
public static function createChoiceLabel($choice)
{
    return (string) $choice;
}
VehiculoType.php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class VehiculoType extends AbstractType
{
/**
 * {@inheritdoc}
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('patente')->add('modelo', 'entity');
}
/**
 * {@inheritdoc}
 */
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'AppBundle\Entity\Vehiculo'
    ));
}
/**
 * {@inheritdoc}
 */
public function getBlockPrefix()
{
    return 'appbundle_vehiculo';
}
public function __toString()
{
    return (string) $this->getVehiculo();
}
}
And my entity Vehiculo.php
namespace AppBundle\Entity;
/*** Vehiculo*/
class Vehiculo{
/**
 * @var int
 */
private $id;
/**
 * @var string
 */
private $patente;
/**
 * Get id
 *
 * @return int
 */
public function getId()
{
    return $this->id;
}
/**
 * Set patente
 *
 * @param string $patente
 *
 * @return Vehiculo
 */
public function setPatente($patente)
{
    $this->patente = $patente;
    return $this;
}
/**
 * Get patente
 *
 * @return string
 */
public function getPatente()
{
    return $this->patente;
}
/**
 * @var string
 */
private $oneToOne;
/**
 * Set oneToOne
 *
 * @param string $oneToOne
 *
 * @return Vehiculo
 */
public function setOneToOne($oneToOne)
{
    $this->oneToOne = $oneToOne;
    return $this;
}
/**
 * Get oneToOne
 *
 * @return string
 */
public function getOneToOne()
{
    return $this->oneToOne;
}
/**
 * @var \AppBundle\Entity\Modelo
 */
private $modelo;
/**
 * Set modelo
 *
 * @param \AppBundle\Entity\Modelo $modelo
 *
 * @return Vehiculo
 */
public function setModelo(\AppBundle\Entity\Modelo $modelo = null)
{
    $this->modelo = $modelo;
    return $this;
}
/**
 * Get modelo
 *
 * @return \AppBundle\Entity\Modelo
 */
public function getModelo()
{
    return $this->modelo;
}
}
 
                        
Your
modelofield should define the choice_label option in order to display correctly something that allows to identify the entity:Replace
namewith a property implemented by theModeloentity.