나는 MainCategory의 하위 분류되고있는 CategoryAd 엔티티에 추가 할 AdsList 법인사용자 정의 심포니 양식 사용자 상호 작용을 기반으로
이
(난 그 말이 바랍니다)나는 이것을 사용이 다음 필드가 그것으로 채워해야 MainCategories 중 하나는 하위 범주
에게의 선택 그래서 때 Dynamic Generation for Submitted Forms 기준으로 할 (10) 그러나이 너무 많은 코드가 내가 요지AdsList
class AdsList
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $title;
/**
* @ORM\Column(type="text")
*/
protected $content;
/**
* @ORM\ManyToOne(targetEntity="CategoryAd", inversedBy="ad")
*/
protected $category;
/**
* @ORM\column(type="date", name="posted_at")
*/
protected $postedAt;
/**
* @ORM\ManyToOne(targetEntity="Agency", inversedBy="ads")
* @ORM\JoinColumn(name="agency_id", referencedColumnName="id")
*/
protected $postedBy;
}
를 만들 것입니다
CategoryAd 경우 난 여전히 내 경우동안 그 예를 조정하는 방법을 모른다
class CategoryAd
{
/**
* @var int
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="name", type="string", length=255, unique=true)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="AdsList", mappedBy="category")
*/
private $ad;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\MainCategory", inversedBy="subCat")
*/
private $parentCat;
/**
* CategoryAd constructor.
*/
public function __construct()
{
$this->ad = new ArrayCollection();
}
메인 카테고리
class MainCategory
{
/**
* @var int
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="name", type="string", length=255, unique=true)
*/
protected $name;
/**
* @var
* @ORM\OneToMany(targetEntity="AppBundle\Entity\CategoryAd", mappedBy="parentCat")
* @ORM\JoinColumn(name="cat_id", referencedColumnName="id")
*/
protected $subCat;
/**
* MainCategory constructor.
* @param string $name
*/
public function __construct($name)
{
$this->name = $name;
}
이는 일이 나는 순간에 90 개 종류가 있기 때문에 상위 범주를하고 싶어, 그것은 작동하는 순간에 형태
이며, 그것은 단지 거 더
를 얻을 수 있어요 나는 아약스를 모르지만 심포니는 문서에 예제를 보여줍니다.
당신을 도울 수 있습니까?
/**
* @Route("/post", name="post")
*/
public function newAction(Request $request)
{
// create a Post and give it some dummy data for this example
$task = new AdsList();
$task->setpostedAt(new \DateTime('now'));
$form = $this->createFormBuilder($task)
->add('title', TextType::class)
->add('content',TextareaType::class)
->add('category', EntityType::class, array(
// query choices from Category.Name
'class' => 'AppBundle:CategoryAd',
'choice_label' => 'name',
))
->add('postedAt', DateType::class, array(
'widget' => 'single_text',
// this is actually the default format for single_text
'format' => 'yyyy-MM-dd',
))
->add('save', SubmitType::class, array('label' => 'Create Post'))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// $form->getData() holds the submitted values iN MeM
$task = $form->getData();
// save the task to the database
$em = $this->getDoctrine()->getManager();
$em->persist($task);
$em->flush();
return $this->redirectToRoute('list');
}
return $this->render('postlist/post.html.twig', array(
'adForm' => $form->createView(),
));
}
나는 게시물을 업데이트했습니다. –