2016-05-19 23 views

Antwort

0

wenn das Unternehmen richtig abgebildet wird dann können Sie einfach verwenden:

->add('testfield') 

und Sonata-Administrator wird die Aufgabe erledigen.

Angenommen, Sie haben eine Produktklasse zu einer Kategorie Klasse verknüpft haben:

<?php 

namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Product 
* 
* @ORM\Table(name="product") 
* 
*/ 
class Product 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @ORM\ManyToOne(targetEntity="Category", inversedBy="products") 
    */ 
    protected $category; 

    /** 
    * Get id 
    * 
    * @return int 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set category 
    * 
    * @param Category $category 
    * 
    * @return Product 
    */ 
    public function setCategory(Category $category = null) 
    { 
     $this->category = $category; 

     return $this; 
    } 

    /** 
    * Get category 
    * 
    * @return Category 
    */ 
    public function getCategory() 
    { 
     return $this->category; 
    } 
} 

einfach mit:

->add('category') 

wird ein ausgewähltes Formularfeld mit allen Kategorien zur Verfügung stellen.

Sie können auch SONATA_TYPE_MODEL verwenden, wenn Sie wollen etwas weiter fortgeschritten:

<?php 
// src/AppBundle/Admin/ProductAdmin.php 

class ProductAdmin extends AbstractAdmin 
{ 
    protected function configureFormFields(FormMapper $formMapper) 
    { 
     $imageFieldOptions = array(); // see available options below 

     $formMapper 
      ->add('category', 'sonata_type_model', $imageFieldOptions) 
     ; 
    } 
} 

Die Dokumentation auf dieser Seite lautet: Form Types

hoffe, das hilft!