ম্যাজেন্টো 2 - অবজেক্ট ম্যানেজার অ্যাবস্ট্রাক্ট ক্লাসটি ইনস্ট্যান্ট করার চেষ্টা করে। ( মারাত্মক ত্রুটি )


37

ম্যাজেন্টো 2 দিয়ে চারপাশে খেলছি তবে কোনও সমস্যার মধ্যে দৌড়াতে আমি মাথাটি প্রায় জড়িয়ে রাখতে পারি না। অবজেক্ট ম্যানেজার অ্যাবস্ট্রাক্ট ক্লাস ইনস্ট্যান্ট করার চেষ্টা করে, এটি মারাত্মক ত্রুটি দেয়। কেউ কি জানেন যা এর কারণ হতে পারে বা আমাকে সঠিক দিকে নির্দেশ করতে পারে?

ভূল

Fatal error: Cannot instantiate abstract class Magento\Framework\Model\Resource\AbstractResource in /lib/internal/Magento/Framework/ObjectManager/Factory/Dynamic/Developer.php on line 75

সমস্যাটি

আমার মডিউলের একটি মডেল রয়েছে যা প্রসারিত করে \Magento\Quote\Model\Quote। এই মডেলটির নির্মাতাকে নিম্নলিখিত ইনজেকশনটি দেওয়া রয়েছে:

\Magento\Framework\Model\Resource\AbstractResource $resource = null,

মডেলটি ইনস্ট্যান্ট করছে এমন কন্ট্রোলারটি মডেলটি ইনস্ট্যান্ট করতে প্রসারিত \Magento\Backend\App\Actionএবং ব্যবহার $this->_objectManager->create()করে।

আমি যে বিষয়টি মাথা ঘুরিয়ে রাখতে পারি না তা হ'ল আমি যদি ম্যাজেন্টো মডেলটি ইনস্ট্যান্ট করি তবে এটি কেবল কাজ করে তবে আমি যদি আমার মডেলটি ইনস্ট্যান্ট করি তবে এটি এই বিমূর্ত শ্রেণিকে ত্রুটিটি ছুঁড়ে দেওয়ার জন্য ইনস্ট্যান্ট করার চেষ্টা করে। কী করতে অবজেক্ট ম্যানেজারকে এটি করতে বলা হয় এবং আমি কীভাবে আমার সমস্যার সমাধান করতে পারি?

আমার প্রথম চিন্তা ছিল যে ম্যাজেন্টো di.xmlএটিকে প্রতিস্থাপন করতে, এটি বা অন্য কোনওটি কার্যকর করতে ব্যবহার করে , এটি ছিল না।

এই পড়ার সময় দেবার জন্য ধন্যবাদ। এই ইস্যুতে কোনও সহায়তা বা ইনপুট প্রশংসিত হয়।


আপনি কি প্রশ্নে আপনার কোড পোস্ট করতে পারেন?
মারিয়াস

আপনি সম্ভবত কিছুটা সুনির্দিষ্ট হতে পারেন? পুরো নিয়ামক শ্রেণি এবং তাত্ক্ষণিক মডেল বিশাল এবং এগুলিকে প্রশ্নের সাথে যুক্ত করা প্রাথমিক সমস্যাটি বোঝা সহজ করে না। অ্যাকশন ফাংশন বা নির্মাণকারী যথেষ্ট হবে?
রোফাদেকে

যথেষ্ট ফর্সা। আপনার শ্রেণীর নাম, এটি কী প্রসারিত হবে, কীটি প্রয়োগ করে এবং __constructআপনার মডেলের পদ্ধতি পোস্ট করুন।
মারিয়াস

অনুরোধ করা হয়েছে :) মডেলের শীর্ষ অংশ। আমি মনে করি ক্রিসের সমাধান রয়েছে, এটি পরীক্ষা করে আপনার কাছে ফিরে আসবে। ধন্যবাদ মারিয়াস
রোফাদেকে

হাঁ। আমার মনে হয় ক্রিস এটি পেয়েছে। :)
মারিয়াস

উত্তর:


109

এটি ঘটতে পারে যদি আপনার উপ-শ্রেণি পিতৃ শ্রেণীর বিদ্যমান alচ্ছিক নির্ভরতার পরে নতুন নির্ভরতা যুক্ত করে।

পিতামাতার কাছ থেকে স্নিপেট

    \Magento\Quote\Model\Cart\CurrencyFactory $currencyFactory,  // required
    JoinProcessorInterface $extensionAttributesJoinProcessor,    // required
    \Magento\Framework\Model\Resource\AbstractResource $resource = null,       //optional
    \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,  //optional
    array $data = [] //optional
)}

কোড কীভাবে alচ্ছিক তা পরিবর্তন করতে পারে

    \Magento\Quote\Model\Cart\CurrencyFactory $currencyFactory,  // required
    JoinProcessorInterface $extensionAttributesJoinProcessor,    // required
    \Magento\Framework\Model\Resource\AbstractResource $resource = null,       // required (even though it has a default value, because it is followed by parameters that don't have default values)
    int $x, // required
    \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,  // optional (still optional because there are no required parameters following it)
    array $data = [] // optional
)}

ম্যাজেন্টো 2 অবজেক্ট ম্যানেজার কোনও প্রয়োজনীয় প্যারামিটার ইনজেক্ট করার চেষ্টা করবে। সুতরাং আপনি যদি কনস্ট্রাক্টরের শেষে প্রয়োজনীয় প্যারামিটার যুক্ত করেন তবে এটি ঘটতে পারে।

Anyচ্ছিকর উপরে যে কোনও নতুন প্রয়োজনীয় প্যারামিটারটি উপরে নিয়ে আপনি এটি ঠিক করতে পারেন।


1
ক্রিস, আপনি একটি বিশাল ধন্যবাদ অর্জন করেছেন! আপনি আমার সমস্যাটি বড় সময় সমাধান করেছেন।
রোফাদেকা

এবং একটি দ্বিতীয় বড় আপনাকে ধন্যবাদ। আমি তোমাকে ভালবাসি ভাই
ইয়োন ট্রিমোরো

আপনার দ্বারা সরবরাহ করা ক্রিস সলিউশন আমাকে সহায়তা করেছে, ধন্যবাদ
মুকেশ

দুর্দান্ত ব্যাখ্যা!
হেনরি বুই

আমার সমস্যাটি ছিল পিএইচপিস্টোরমে অটো-সম্পূর্ণ ব্যবহার করার সময় এটি = নাল
অংশটিও

0

কখনও কখনও কিছু মডিউল আপডেট করা হয়েছিল এবং এর অধীনে / উত্পন্ন রেফারেন্সগুলি এখনও আপডেট হয়নি।

কেবল একটি করুন bin/magento setup:di:compileএবং আবার চেষ্টা করুন।

(কোনও পেমেন্ট মডিউল আপডেট করার সময় আমার জন্য কাজ করেছে এবং / চেকআউট লোড হয়নি)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.