buduję ten związek ManyToMany między moimi dwoma podmiotami w Symfony2 i chcą mieć tabelę łączącą się z charset
latin1 i engine
MyISAM (są UTF- 8 i InnoDB domyślnie).Zmień charset i silnik do stolika pośredniego ManyToMany relacji za Doctrine2 za
Oto one:
Entity \ Commande
<?php
// ...
/**
* Commande
*
* @ORM\Table(name="commande", options={"collate"="latin1_general_ci", "charset"="latin1", "engine":"MyISAM"})
* @ORM\Entity()
*/
class Commande
{
// ...
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="Paiement", inversedBy="commandes", cascade={"persist"})
* @ORM\JoinTable(name="paiement_commande",
* joinColumns={@ORM\JoinColumn(name="commande_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="paiement_id", referencedColumnName="id")}
*)
*/
private $paiements;
Entity \ Paiement
<?php
// ...
/**
* Paiement
*
* @ORM\Table(name="paiement", options={"collate"="latin1_general_ci", "charset"="latin1", "engine":"MyISAM"})
* @ORM\Entity()
*/
class Paiement
{
// ...
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="Commande", mappedBy="paiements", cascade={"persist"})
* @ORM\JoinTable(name="paiement_commande")
*/
private $commandes;
Jak widać, wiem jak poprawnie ustawić te informacje dla tabele moich jednostek, ale jak mogę zrobić dla tabeli paiement_commande
?
Próbowałem:
/*
* @ORM\JoinTable(name="paiement_commande", options={"collate"="latin1_general_ci", "charset"="latin1", "engine":"MyISAM"})
*/
private $commandes;
Ale mam z polecenia $ php app/console doctrine:schema:validate
:
[Doctrine\Common\Annotations\AnnotationException]
[Creation Error] The annotation @ORM\JoinTable declared on property Entity\Paiement::$commandes does not have a property named "options". Available properties: name, schema, joinColumns, inverseJoinColumns
Jak mogę ustawić tej relacji ManyToMany między moimi dwoma podmiotami i nadal być w stanie określić zarówno dla engine
i charset
dla nowo utworzonej tabeli łączenia?
Dzięki za pomoc!
FYI: Wysłałem żądanie ściągnięcia do Doctrine2, które, mam nadzieję, naprawi ten problem: https://github.com/doctrine/doctrine2/pull/5953 – mattsches