সমস্যাটি হ'ল আপনাকে অবশ্যই একটি ফাঁকা মান সেট করতে হবে যা আপনার ক্ষেত্রের ডেটা ধরণের সাথে সামঞ্জস্যপূর্ণ। আপনি যদি তা না করেন তবে আপনি একটি ব্যতিক্রম উত্থাপন পেতে পারেন। পাসিং NULLবা array()স্ট্রিং যখন প্রত্যাশিত হয় তাই ত্রুটি বাড়িয়ে তুলবে।
আরেকটি বিষয় মনে রাখবেন যে, আপনার পাস করা ডেটা আপনার ক্ষেত্রের একক মান, একটি বহু-মান ক্ষেত্র, বা একাধিক বৈশিষ্ট্যযুক্ত ক্ষেত্র কিনা তার উপরও নির্ভর করবে।
যদি আপনার ক্ষেত্রটি একক মান হয় (এবং ক্ষেত্রের জন্য মোড়ক এন্টিভ্যালুওয়্যার্পারের উদাহরণ ) তবে আপনার এটি প্রশ্নে ডেটা টাইপের সাথে সামঞ্জস্য করা একটি খালি মান নির্ধারণ করা উচিত । উদাহরণস্বরূপ নিম্নলিখিত দুটি পদ্ধতি সমান:
$wrapper->title = '';
$wrapper->title->set('');
তবে নিম্নলিখিত তিনটি উদাহরণ একটি ব্যতিক্রম উত্থাপন করবে, কারণ ডেটা টাইপগুলি titleক্ষেত্রের সাথে সামঞ্জস্যপূর্ণ নয় :
$wrapper->title->set();
$wrapper->title->set(NULL);
$wrapper->title->set(array());
যদি আপনার ক্ষেত্রটি একাধিক বৈশিষ্ট্যযুক্ত ক্ষেত্র হয় (উদাহরণস্বরূপ একটি বিন্যাসযোগ্য পাঠ্য ক্ষেত্র, যা একটি valueএবং formatসম্পত্তি উভয়ই সংজ্ঞায়িত করে ) এবং এইভাবে এনটিটিস্ট্রাস্ট্রাপ্র্যাপারের উদাহরণ , তবে array()বা NULLসঠিক ফাঁকা মান হবে। সুতরাং আপনি নিম্নলিখিতটি করতে পারেন:
$wrapper->field_formatted_text = array();
$wrapper->field_formatted_text = NULL;
তবে সেক্ষেত্রে একটি খালি স্ট্রিং পাস করলে ত্রুটি বাড়ে। নোট করুন যে valueপরিবর্তে আপনি সম্পত্তিটি খালি করার জন্য বেছে নিতে পারেন, সেক্ষেত্রে একটি স্ট্রিং সঠিক ডেটা টাইপ:
$wrapper->field_formatted_text->value = '';
অবশেষে, যদি আপনার ক্ষেত্রটি কোনও একাধিক মানের ক্ষেত্র হয় (এবং এইভাবে আপনার মোড়কটি হ'ল এনটিটিলিস্টওয়্যার্পারের উদাহরণ ) arrayবা NULLসঠিক খালি মান হয় এবং নিম্নলিখিত তিনটি লাইন সমতুল্য হয়:
$wrapper->field_example_multiple->set();
$wrapper->field_example_multiple = array();
$wrapper->field_example_multiple = NULL;
দ্রষ্টব্য: মোড়কগুলিতে clearপদ্ধতিটি কল করা ক্ষেত্রটি খালি মান হিসাবে সেট করার সমতুল্য নয়। ক্ষেত্রটি যখন একটি খালি মানে সেট করা থাকে, তখন এটি ক্ষেত্রের প্যারেন্ট র্যাপারে এন্টিমেটাডেটা র্যাপার :: আপডেটপেন্টকে কল করে। এটি অন্যান্য জিনিসের মধ্যে নিশ্চিত করে যে হুক_এনটিটি_প্রোপার্টি_আইনফোsetter callback দ্বারা সংজ্ঞায়িত বলা হয়। কলিং তা করে না।clear
EntityStructureWrapper::clear()বাEntityValueWrapper::clear()পদ্ধতি খুঁজছেন ?