2017-03-31 46 views
9

मैं MySQL के साथ काम कर रहा हूं और परिणाम/पंक्तियों को सरणी में वापस कर दिया जाता है।क्या डाटामैपर एसजीबीडी परिणाम को ऑब्जेक्ट के रूप में परिवर्तित करता है?

मुझे समझ में आता है कि अंत में, मॉडल परत "लक्ष्य" एसजीबीडी क्वेरी संसाधित होने के बाद एक वस्तु को वापस करना है।

तो, किसी ऑब्जेक्ट में पंक्तियों (या एक पंक्ति) को परिवर्तित करने की प्रक्रिया को डेटामैपर (जो मॉडल परत का हिस्सा है) में एकीकृत किया जाना चाहिए या यह तीसरी सेवा की ज़िम्मेदारी होनी चाहिए जिसे इंजेक्शन दिया जाएगा डेटामैपर?

आप

उत्तर

3

धन्यवाद तो, एक वस्तु में पंक्तियों (या एक ही पंक्ति) परिवर्तित करने की प्रक्रिया DataMapper में एकीकृत किया जाना चाहिए।

खैर हाँ यह डेटा नक्शाकार की जिम्मेदारी है। इसे एक इकाई को वापस करना चाहिए, न कि परिणाम सेट।

या क्या यह किसी तीसरे सेवा की ज़िम्मेदारी होनी चाहिए जिसे डेटामैपर में इंजेक्शन दिया जाएगा?

यह भी एक संभावना है, "यूनिटऑफवर्क" के लिए Google मुझे लगता है कि आप यही चाहते हैं। https://www.sitepoint.com/implementing-a-unit-of-work/

तुम भी सिद्धांत स्रोत https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/EntityManager.php

0

हाँ, मैं Sander से सहमत पर एक नज़र ले जा सकते हैं, अपने व्यापार तर्क एक और परत पर होना चाहिए। लेकिन यह नियंत्रक में नहीं होना चाहिए।

enter image description here

क्लासिक MVC 3th भागों के compresed:

एक मॉडल भंडार डेटा है कि नियंत्रक से आदेश के अनुसार लिया गया और दृश्य में प्रदर्शित किया जाता है।
देखें मॉडल में बदलावों के आधार पर उपयोगकर्ता को नया आउटपुट उत्पन्न करता है।
नियंत्रक मॉडल के राज्य को अपडेट करने के लिए मॉडल को आदेश भेज सकता है (उदाहरण के लिए, एक दस्तावेज़ संपादित करना)। यह मॉडल के दृश्य की प्रस्तुति को बदलने के लिए कमांड को इसके संबंधित दृश्य में भी भेज सकता है (उदा।, दस्तावेज़ के माध्यम से स्क्रॉल करना)।

MVC में कोई भागों - स्वतंत्र पैटर्न है।

सक्रिय और निष्क्रियMVC मौजूद। क्लासिक एमवीसी सक्रिय है।

सक्रिय घटकों में तीन घटकों के भीतर, मॉडल कार्रवाई में है। निष्क्रिय मॉडल कार्यान्वयन के साथ मुख्य अंतर सक्रिय मॉडल कार्यान्वयन में मॉडल मॉडल को बदलता है जब मॉडल नियंत्रक द्वारा बदल जाता है। चित्रमय प्रतिनिधित्व इसे और साफ़ कर देगा।

सक्रिय व्यापार मॉडल में, तर्क मॉडल में है, और नियंत्रक पतला है।

आप DataMapper विभाजित और परिवर्तन के लिए अपने डेटा को नई सेवा जोड़ने के लिए, मॉडल के लिए डेटा लौटाने के लिए कर सकते हैं, और रिटर्न डेटा नियंत्रक को

0

यह क्योंकि जब भी आप परिणाम की जरूरत है, मॉडल से ऑब्जेक्ट प्रदान करने के लिए नियंत्रक लिए बेहतर है या पंक्ति उनमें से प्रत्येक के माध्यम से जा सकते हैं।

संबंधित मुद्दे