Η ManyToOne / OneToOne Ένωση

ψήφοι
0

Έχω μια οντότητα προϊόντος που περιέχει δύο πεδία urlTracking και urltrackingDoc τύπου Urltracking και οντότητα Urltracking που περιέχει το προϊόν. Χρειάζομαι μια σχέση μεταξύ προϊόντος και Urltracking π.χ. OneToOne ManyToOne.

Το πρόβλημα είναι όταν ψάχνω για το urlTracking με id παίρνω το προϊόν και συμπληρώθηκε, αλλά όταν κάνετε urlTrackingDoc από id πάρω την μηδενική προϊόν

/**
 *@ORM\Table(name=product)
 * @ORM\Entity(repositoryClass=App\ProductBundle\Repository\ProductRepository)
 */
class Product{


    /**
     * @ORM\Id
     * @ORM\Column(type=integer)
     * @ORM\GeneratedValue()
     * @var int
     */
    private $id;


    /**
     * @var UrlTracking $urlTracking
     * @ORM\OneToOne(targetEntity=App\UrlTrackingBundle\Entity\UrlTracking, inversedBy=product)
     * @ORM\JoinColumn(name=url_tracking_id, referencedColumnName=id)
     */
    private $urlTracking;

    /**
     * @var UrlTracking $urlTrackingDoc
     * @ORM\OneToOne(targetEntity=App\UrlTrackingBundle\Entity\UrlTracking, inversedBy=product)
     * @ORM\JoinColumn(name=url_tracking_doc_id, referencedColumnName=id)
     */
    private $urlTrackingDoc;

    //...
}

/**
 *@ORM\Table(name=url_tracking)
 * @ORM\Entity(repositoryClass=App\UrlTrackingBundle\Repository\UrlTrackingRepository)
 */
class UrlTracking{


    /**
     * @ORM\Id
     * @ORM\Column(type=integer)
     * @ORM\GeneratedValue()
     * @var int
     */
    private $id;

    /**
     * @var Product
     * @ORM\OneToOne(targetEntity=App\ProductBundle\Entity\Product, mappedBy=urlTracking)
     * @ORM\OneToOne(targetEntity=App\ProductBundle\Entity\Product, mappedBy=urlTrackingDoc)
     */
    private $product;
    //...
}
Δημοσιεύθηκε 09/10/2019 στις 18:58
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
2

Πρέπει να έχεις 2 ιδιότητες του προϊόντος στην UrlTracking οντότητα, για παράδειγμα, $productκαι $productDocτο καθένα με τη δική του χαρτογράφηση δόγμα της.

Απαντήθηκε 09/10/2019 στις 19:31
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more