0
基於數據庫值選項列表是否有可能在configureformfields從數據庫,而不是手動配置這樣的映射選項值添加一個選擇列表:奏鳴曲
->add('testfield', 'choice', array('choices' => array(
'1' => 'choice 1',
'2' => 'choice 2',)))
基於數據庫值選項列表是否有可能在configureformfields從數據庫,而不是手動配置這樣的映射選項值添加一個選擇列表:奏鳴曲
->add('testfield', 'choice', array('choices' => array(
'1' => 'choice 1',
'2' => 'choice 2',)))
如果實體正確映射那麼你可以使用:
->add('testfield')
和索納塔管理員將完成這項工作。
比方說,你有一個鏈接到一個類別類的產品類:
<?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;
}
}
只需用:
->add('category')
將提供一個選擇表單域的所有類別。
,如果你願意,你也可以使用SONATA_TYPE_MODEL一些更先進:
<?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)
;
}
}
的文檔在這個頁面上:Form Types
希望這有助於!