سؤال

أنا أعمل مع Magento، ولدي طلبات وأقوم بطباعتها على النحو التالي:

echo $order->getId();
echo $order->getCustomerEmail();

مشكلتي هي أنني لا أعرف كل أسماء طرق الحصول، فكيف أو أين يمكنني العثور على جميع قائمة الحصول المتاحة؟

هدفي هو تصدير جميع الطلبات في قاعدة بيانات خارجية، هل هناك طريقة أسرع للقيام بذلك دون الحاجة إلى تصريح مرور لكل حقل؟

هل كانت مفيدة؟

المحلول

يتم الاحتفاظ بالبيانات الموجودة على الطلب (أو أي كائن) في متغير عضو محمي _data وهي مصفوفة.تأتي هذه البيانات من جدول (جداول) قاعدة البيانات (يتم ملؤها بواسطة نموذج المورد).

مصفوفة البيانات

يمكنك الحصول على هذه المصفوفة وتفريغها عبر:

print_r($order->getData());
// or
var_dump($order->getData());

سوف تحصل على إخراج مثل هذا مع print_r():

Array
(
    [entity_id] => 2
    [state] => new
    [status] => pending
// ...

جيتر

يمكنك الآن الحصول على كل هذه البيانات باستخدام الحروف السحرية لكائنات Magento.كل قيمة قابلة للاسترجاع في شكل $object->getValue() أين Value هي النسخة ذات الغلاف الجملي للمفتاح من المصفوفة.

بالنسبة للقيم المذكورة أعلاه، استخدم:

$order->getEntityId();
$order->getState();
$order->getStatus();

ولل customer_id على سبيل المثال يمكنك الاتصال $order->getCustomerId()

يتجاوز

يمكن تجاوز الحروف.يتم تعريف بناء getters في Varien_Object فئة وكل نموذج Magento يمكن أن يتجاوز طريقة getter السحرية من خلال تحديد الطريقة بشكل صريح.لذلك يجب عليك أيضًا التحقق من أساليب النموذج من خلال النظر إلى الكود أو استخدام التلميحات في IDE الخاص بك.

نصائح أخرى

يمكنك ببساطة طباعة جميع الحقل المتاح في الكائن الخاص بك مع:

giveacodicetagpre.

لا يتم تخزين الطلبات بتنسيق EAV، لذا تكون كافة البيانات في جدول مسطح.عن طريق تحميل أ sales/order مثيل النموذج الذي تقوم بتحميل صف من sales_flat_order الجدول بحيث يمكنك سحب أي عمود تراه هنا من كائن الطلب، أي سحب increment_id العمود، يمكنك الاتصال $order->getIncrementId().انتبه أيضًا إلى أن هناك بعض الأساليب في Mage_Sales_Model_Order كائن فئة لبناء كمية معينة من البيانات بالنسبة لك، على سبيل المثال getCustomerName() الذي يُرجع اسم العميل ولكنه لا يتعلق بـ a customer_name العمود في sales_flat_order طاولة .

حاول

giveacodicetagpre.

محلول سطر واحد:

giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top