0
我試圖用奏鳴曲表單添加類別。我的表類別中我的數據庫看起來是這樣的:奏鳴曲類型模型 - 父類別
表包含:
- ID
- 名
- 啓用
- parent_category_id
parent_category_id可以爲空。所以我想有一個選擇列表,你可以選擇一個父類別。但是我對創建這個有點困惑。我的實體類別看起來是這樣的:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Category
*
* @ORM\Table(name="category", indexes={@ORM\Index(name="fk_category_category_idx", columns={"parent_category_id"})})
* @ORM\Entity(repositoryClass="AppBundle\Repository\CategoryRepository")
*/
class Category
{
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=false)
*/
private $name;
/**
* @var boolean
*
* @ORM\Column(name="enabled", type="boolean", nullable=false)
*/
private $enabled = true;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var \AppBundle\Entity\Category
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Category")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="parent_category_id", referencedColumnName="id")
* })
*/
private $parentCategory;
public function __toString()
{
return $this->getName();
}
/**
* Set name
*
* @param string $name
*
* @return Category
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set enabled
*
* @param boolean $enabled
*
* @return Category
*/
public function setEnabled($enabled)
{
$this->enabled = $enabled;
return $this;
}
/**
* Get enabled
*
* @return boolean
*/
public function getEnabled()
{
return $this->enabled;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set parentCategory
*
* @param \AppBundle\Entity\Category $parentCategory
*
* @return Category
*/
public function setParentCategory(\AppBundle\Entity\Category $parentCategory = null)
{
$this->parentCategory = $parentCategory;
return $this;
}
/**
* Get parentCategory
*
* @return \AppBundle\Entity\Category
*/
public function getParentCategory()
{
return $this->parentCategory;
}
}
這是我至今無父類中進行選擇:
<?php
// src/AppBundle/Admin/CategoryAdmin.php
namespace AppBundle\Admin;
use AppBundle\Repository\CategoryRepository;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
class CategoryAdmin extends AbstractAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name', 'text')
->add('enabled', 'checkbox');
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('name');
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('name');
}
}
但現在我卡與添加父類別中選擇(這不需要選擇)。
首先,請註明,你想在哪兒這種選擇?作爲列表視圖中的過濾器?或者在編輯視圖? – lllypa