Symfony 从一个类别中分配和删除项目
及 基于以上两个问题,我有一个列表,其中包含所有项目的许多复选框。因此,有两个路由/方法没有任何意义:一个用于分配,另一个用于删除项。要使其逻辑正确,分配项和删除项必须在一个方法中-下面的此方法仅用于分配,而不用于删除一个或多个项。在实际应用程序中,一步分配和删除项是唯一有意义的方法(因为复选框) 表格: 这里是完整的一个:(只是太长了,粘贴在这里。) 实体项目:Symfony 从一个类别中分配和删除项目,symfony,doctrine-orm,symfony-forms,Symfony,Doctrine Orm,Symfony Forms,及 基于以上两个问题,我有一个列表,其中包含所有项目的许多复选框。因此,有两个路由/方法没有任何意义:一个用于分配,另一个用于删除项。要使其逻辑正确,分配项和删除项必须在一个方法中-下面的此方法仅用于分配,而不用于删除一个或多个项。在实际应用程序中,一步分配和删除项是唯一有意义的方法(因为复选框) 表格: 这里是完整的一个:(只是太长了,粘贴在这里。) 实体项目: class Item { /** * @var integer * * @ORM\Colu
class Item
{
/**
* @var integer
*
* @ORM\Column(type="guid")
* @ORM\Id
* @ORM\GeneratedValue(strategy="UUID")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="description", type="text", nullable=true)
*/
private $description = null;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="Checkout\Bundle\ItemBundle\Entity\ItemCharakter", mappedBy="item", cascade={"persist", "remove"})
**/
private $itemCharakters;
/**
* @ORM\ManyToOne(targetEntity="Checkout\Bundle\ItemBundle\Entity\Category", inversedBy="items")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
**/
private $category;
/**
* @ORM\ManyToMany(targetEntity="Checkout\Bundle\ItemBundle\Entity\Tax", inversedBy="items")
* @ORM\JoinTable(name="Items_Taxes")
*/
private $taxes;
/**
* @ORM\ManyToMany(targetEntity="Checkout\Bundle\ItemBundle\Entity\Modifier", inversedBy="items")
* @ORM\JoinTable(name="Items_Modifiers")
*/
private $modifiers;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
**/
private $user;
/**
* @var \DateTime $created_at
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
*/
private $created_at;
/**
* @var \DateTime $updated_at
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime")
*/
private $updated_at;
完整实体:
.
第一种情况:
Assign Items to Category:
[ ] Item 1
[ ] Item 2
分配全部==>
Assign Items to Category:
[X] Item 1
[X] Item 2
第二:
Assign Items to Category:
[ ] Item 1 // Remove this item 1, after it was assign
[X] Item 2 // Stay assigned
我不是这里的主人。我使用的是symfony2.6.7。在这个例子中,它是一个一对多的关系,但在将来,我也需要它来处理许多关系
知道吗,当我不在拥有方时,这对一个家庭和许多人来说是怎么可能的吗?:-)
我还在添加项目部分遵循了本指南:-这有助于澄清。请展示您的表单和实体。如何使您的关系成为双边关系?这种关系是双边的-当我在拥有方时,它是有效的(通过编辑项目,将类别从选择添加到一个项目)@德斯托菲尔:更新的问题。在类别实体的第145->152行,$items->setCategory($this);应位于$this->items[]=$items;-这可能会也可能不会导致你的问题,但肯定不会有帮助。
Assign Items to Category:
[ ] Item 1
[ ] Item 2
Assign Items to Category:
[X] Item 1
[X] Item 2
Assign Items to Category:
[ ] Item 1 // Remove this item 1, after it was assign
[X] Item 2 // Stay assigned