मैं अपने सिद्धांत-एंटिटी में एक मानव-पठनीय आईडी को कार्यान्वित करना चाहता हूं। मैं काम करने और "PRE12-00005" (उपसर्ग और वर्ष के साथ, और प्रत्येक नए वर्ष में 0 से शुरू) जैसे कुछ जोड़ने के लिए डीबी-आईडी रखना चाहता हूं। मैंने कस्टम-आईडी-जेनरेटर जोड़ने की कोशिश की, लेकिन ऐसा लगता है कि सिद्धांत एक इकाई में दो जेनरेट किए गए मानों के साथ काम नहीं कर सकता है।सिद्धांत में दो जनरेटेड वैल्यू
/**
* @var integer
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var string
* @ORM\Column(name="name", type="string", length=25, unique=true)
* @ORM\GeneratedValue(strategy="CUSTOM")
* @ORM\CustomIdGenerator(class="NameGenerator")
*/
protected $name;
सिद्धांत हमेशा "आईडी" -Field और "नाम" में अशक्त में मेरी जनरेटर से वापसी मान को बचाने के लिए प्रयास करें। क्या इसे लागू करने का कोई और तरीका है?
क्या घटनाओं में ईएम का उपयोग करने का एक अनुशंसित तरीका है? मुझे मैन्युअल में इसके बारे में कुछ भी नहीं मिला, लेकिन शायद समस्या मेरे सिर में ही मौजूद है :-) ... मैं किसी अन्य तरीके से सोचता हूं: संख्यात्मक आईडी हटाएं ... क्या यह व्यावहारिक है या मैं दूसरे में भागूंगा समस्या का? – icksde
मुझे लगता है कि कोई अनुशंसित तरीका नहीं है क्योंकि कोई सामान्य समस्या नहीं है। यह अत्यधिक डोमेन विशिष्ट है और जैसा कि ऊपर देखा गया है, कई समाधान हैं - कुछ विशिष्ट समस्याओं के लिए बेहतर कुछ, कुछ नहीं। संख्यात्मक आईडी के बारे में: आप प्रति समस्याओं में नहीं भागेंगे, लेकिन वर्चर्स कुंजी का उपयोग करते समय आपको डेटाबेस प्रदर्शन में कमी आ सकती है। – Sgoettschkes
लिंक मर चुका है। कृपया रिंकिंक करने का प्रयास करें या – Trix