Ich benutze symfony, um die Funktionen wie folgt zu erstellen: Ich habe Product and ShippingWays. Ein Produkt könnte mehr ShippingWays und One ShippingWay nur ein Produkt haben.symfony OneToMany Formular
ProductEntity:
/**
* @ORM\OneToMany(targetEntity="ShippingWay",mappedBy="product")
*/
private $shippingWays;
shippingway Entity:
/**
* @ORM\ManyToOne(targetEntity="Product", inversedBy="shippingWays")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
**/
private $product;
Dann baue ich sowohl die Product und ShippingWayType.
Product
->add('shippingWays', EntityType::class, array(
'label' => ' Shipping Ways',
'translation_domain' => 'forms',
'class' => 'CoreBundle:ShippingWay',
'choice_label' => 'name',
'multiple' => true,
'required' => false,
))
Product
/**
* @Route("/admin/product/new", name="admin_product_new")
* @Template()
*/
public function newAction(Request $request)
{
$product = new Product();
$shippingWay= new ShippingWay();
$form = $this->createForm(ProductType::class, $product);
$shippingForm = $this->createForm(ShippingWayType::class, $shippingWay);
if ($request->isMethod('POST')) {
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($product);
$em->flush();
return $this->redirect($this->generateUrl('admin_product'));
}
}
return(array('form' => $form->createView(),'users'=>$users,'shippingForm '=>$shippingForm ->createView()));
}
- Ich mag würde, um den Versand Weg in der Produktseite hinzufügen/bearbeiten.
- Wenn es keine geeigneten Versandwege gibt, muss ich eine neue auf der Produktseite erstellen. Etwas wie folgt aus:
Derzeit Ich habe 2 Probleme:
- Wie die Liefer-Weg mit Formular wie gewohnt in Produktseite verwalten? Gibt es eine allgemeine Möglichkeit, die Formulare unter OneToMany & ManyToOne Beziehungen zu behandeln?
- Ich wähle Versandweg A, wenn ich Produkt X hinzufüge, dann könnte ich Versandweg A wie vorher wählen, wenn ich Produkt Y addiere. Ich fand das procuct_id mit Verschiffen Weise A immer Null.
Könnte mir jemand einige Vorschläge und Referenzen geben? Vielen Dank.
'dann habe ich zu einem neuen auf der Produktseite. - Was müssen Sie tun? Was meinst du mit "verwalten"? Es ist ziemlich breites Wort. Ein Code, der zeigt, was du versuchst zu tun, wäre hilfreich, deine Frage zu verstehen. –
Vielen Dank Jakub. Ich habe die Fragen aktualisiert, hoffe, dass sie mehr machen Sinn jetzt – Bob