मेरे पास उत्पाद के साथ एक टेबल है और नोट्स के साथ एक और तालिका है। प्रत्येक उत्पाद में कुछ नोट्स हो सकते हैं या नहीं। मुझे केवल यह जानने के लिए नोट्स चाहिए कि उन्हें कौन सा उत्पाद reffered है, लेकिन उत्पाद को इसके नोट्स के बारे में पता नहीं है। मुझे लगता है कि यह मेरा कोड होना चाहिए:@OneToOne के लिए कथन का उपयोग करें - Doctrine2
namespace EM\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use EM\MyBundle\Entity\Productss;
/**
* @ORM\Entity
* @ORM\Table(name="notes")
*/
class Notess
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @OneToOne(targetEntity="Productss")
* @JoinColumn(name="products_id", referencedColumnName="id")
**/
private $products;
//...
}
namespace EM\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table(name="domains")
*/
class Domains
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
// ...
}
लेकिन यह एक त्रुटि देता है: [सिद्धांत \ Common \ एनोटेशन \ AnnotationException]
[semantical त्रुटि] एनोटेशन "@OneToOne" संपत्ति ईएम में \ MyBundle \ इकाई \ नोट्स :: $ उत्पादों को कभी आयात नहीं किया गया था। क्या आप इस एनोटेशन के लिए " " कथन का उपयोग करना भूल गए हैं?
क्या आप कृपया इसे ठीक करने में मेरी सहायता कर सकते हैं?
आपको बहुत बहुत धन्यवाद! यह अब काम कर रहा है! :) – Faery
यह समस्याएं उत्पन्न होती हैं जो कि किसी भी प्रकार का रिश्ते है: दस्तावेज के कारण, एक टोमनी, एक टोओ या कई टोमनी। मुझे केवल एक ही समस्या है जो आधिकारिक दस्तावेज़ीकरण की कॉपी/पेस्ट बना रही है: http://docs.doctrine-project.org/en/latest/reference/association-mapping.html –
ऐसा इसलिए होगा क्योंकि सिद्धांत दस्तावेज आपको मानता है प्रत्येक '@' वर्ग का उपयोग 'होगा', इसलिए सभी एनोटेशन वास्तविक वर्ग नाम ('सिद्धांत/ओआरएम/मैपिंग/वनटोन' => 'वनटोन' का उपयोग करें), जहां सिम्फनी ने 'उपयोग सिद्धांत \ ORM \ मैपिंग' की सिफारिश की है एएस ओआरएम नेमस्पेस दृष्टिकोण इसलिए सभी एनोटेशन ओआरएम को बेस ('@ORM \ OneToOne') के रूप में उपयोग करते हैं। – qooplmao