के साथ एनोटेशन का उपयोग नहीं करते समय मोंगोडब हैश से जुड़े सरणी मैपिंग को लोड करने का उचित तरीका मैं अपने दस्तावेज़ के गैर एनोटेशन मैपिंग को मैप करने के लिए ऐसा कर रहा हूं। लेकिन यह इसे पकड़ नहीं रहा है। मुझे पता है कि यह पुराना कोड है, लेकिन क्या कोई जानता है कि इसे सही तरीके से कैसे मैप करना है। धन्यवाद!अजीब एक्सेसर्स
जुड़े पीआर = https://github.com/Payum/PaypalExpressCheckoutNvp/pull/12/files#diff-fcfa75e424ccb89d62449aba21f9db31R49
और यह भी इस से संबंधित: https://groups.google.com/forum/#!topic/doctrine-user/MdIoOMWA7F4 https://github.com/doctrine/mongodb-odm/issues/421 https://github.com/doctrine/mongodb-odm/issues/453
<?php
abstract class MongoTest extends BaseMongoTest
{
/**
* {@inheritDoc}
*/
protected function getMetadataDriverImpl()
{
$rootDir = realpath(__DIR__.'/../../../../../../../../../');
if (false === $rootDir || false === is_dir($rootDir.'/src/Payum')) {
throw new \RuntimeException('Cannot guess Payum root dir.');
}
$driver = new MappingDriverChain;
$xmlDriver = new XmlDriver(
new SymfonyFileLocator(
array(
$rootDir.'/src/Payum/Paypal/ExpressCheckout/Nvp/Bridge/Doctrine/Resources/mapping'
=> 'Payum\Paypal\ExpressCheckout\Nvp\Bridge\Doctrine\Document',
$rootDir.'/examples/Payum/Paypal/ExpressCheckout/Nvp/Examples/Resources/mapping'
=> 'Payum\Paypal\ExpressCheckout\Nvp\Examples\Document'
),
'.mongodb.xml'
),
'.mongodb.xml'
);
$driver->addDriver($xmlDriver, 'Payum\Paypal\ExpressCheckout\Nvp\Examples\Document');
$driver->addDriver($xmlDriver, 'Payum\Paypal\ExpressCheckout\Nvp\Bridge\Doctrine\Document');
return $driver;
}
2 परीक्षण की त्रुटियों में नाकाम रहने के PaymentDetail दस्तावेज़ के मूल्यों गुण का कोई हठ है क्योंकि वहाँ पाने के उदाहरण फ़ोल्डर के तहत।
यहाँ PaymentDetails
की मैपिंग और सुपर क्लास
के लिए मानचित्रण है ऐसा लगता है इस मुद्दे को अजीब सेटर/BaseModel की गेटर है जो की वजह से है भुगतान विवरण द्वारा बढ़ाया गया।
protected $paymentrequest_nnn_amt = array();
public function getPaymentrequestAmt($n = null)
{
return $this->get('paymentrequest_nnn_amt', $n);
}
public function setPaymentrequestAmt($n, $value)
{
$this->set('paymentrequest_nnn_amt', $value, $n);
}
कि इसके बाद के संस्करण यहाँ नीचे एक मध्यवर्ती आधार वर्ग से है, और आधार वर्ग
/**
* @param string $property
* @param bool $n
* @param bool $m
*
* @return mixed
*/
protected function get($property, $n = false, $m = false)
{
$currentValue = $this->$property;
if (false !== $n && false !== $m) {
if (null === $n && null === $m) {
return $currentValue;
}
if (array_key_exists($n, $currentValue) && array_key_exists($m,$currentValue[$n]){
return $currentValue[$n][$m];
}
}
if (null === $n) {
return $currentValue;
}
if (array_key_exists($n, $currentValue)) {
return $currentValue[$n];
}
}
इसे देखें [Payum \ Payum # 50] (https://github.com/Payum/Payum/pull/50/files)। मैंने टोकन दस्तावेज़ के लिए किए गए वर्कअराउंड को वापस कर दिया और अब यह भी विफल रहता है। Cuz को डीबग करना आसान होना चाहिए सरल सेटटर \ getter –