সত্তা ক্ষেত্রের সত্তা ক্ষেত্রটিতে সত্তা_মেটাডেটা_রাপর সহ একটি নতুন মান সংরক্ষণ করুন


9

আমার কোনও সত্তার ক্ষেত্রে একটি ক্ষেত্রের জন্য একটি নতুন মান সংরক্ষণ করতে হবে এবং আমি ভাবছিলাম যে সত্তা_মেটাডেটা_র্যাপ্পার ব্যবহার করা সম্ভব ছিল বা বিদ্যমান মান সেট করা কেবল সম্ভব?


এইভাবেই আমি মান $ মোড়ক-> vimn_related_subjects-> সেট (অ্যারে ($ কী)) সেট করেছিলাম; তবে আমি যদি অ্যারের শেষে কোনও মান যুক্ত করতে চাই? এটা কি সম্ভব?
অ্যান্ড্রু ওয়েলচ

আপনি চেষ্টা করেছেন $wrapper->vimn_related_subjects[] = $value;?
ক্লাইভ

উত্তর:


31

মাল্টি-ভ্যালু ক্ষেত্রগুলির সাথে কাজ করার সময়, সংশ্লিষ্ট সত্তা মেটাডেটা র‍্যাপার অবজেক্টটি হ'ল এন্টিলিস্ট্র্যাপারের উদাহরণ (উপলভ্য পদ্ধতিগুলি দেখার জন্য API টি ব্রাউজ করা ভাল ধারণা হতে পারে Also এছাড়াও এই শ্রেণিটি অ্যারেঅ্যাক্সেস ইন্টারফেস প্রয়োগ করে নোট করুন )

সুতরাং সত্ত্বা তালিকা তালিকায় নতুন মান যুক্ত করার সহজ উপায় হ'ল "[]" অপারেটরটি ব্যবহার করে:

$wrapper->field_example[] = $new_value;

এটি একটি নতুন এন্ট্রি তৈরি করে এবং এটিকে মান নির্ধারণ করে। এই পদ্ধতিগুলির সাহায্যে ডেল্টা (মান তালিকার মধ্যে অফসেট) স্বয়ংক্রিয়ভাবে তৈরি হয়। আপনি চাইলে অফসেটটি নিজেও সেট করতে পারেন। নিম্নলিখিত তিনটি পদ্ধতির যে কোনও একটি সমতুল্য:

$wrapper->field_example[$delta] = $new_value;
$wrapper->field_example->offsetSet($delta, $new_value);
$wrapper->field_example->get($delta)->set($new_value);

তিনটি ক্ষেত্রেই ডেল্টা ইতিমধ্যে বিদ্যমান থাকলে মানগুলি ওভাররাইট করে এবং যদি না থাকে তবে একটি নতুন এন্ট্রি তৈরি করে।

আপনি সরাসরি ক্ষেত্রের মধ্যে নিজেই মূল্যের একটি অ্যারে সেট করতে পারেন। উভয় পদ্ধতি সমতুল্য:

$value = array
  0 => array('property_example' => 'hello'),
  1 => array('property_example' => 'world')
);
$wrapper->field_example = $value;
$wrapper->field_example->set($value);

তবে ক্ষেত্রের মেটাডেটা মোড়কে ব্যবহার না করায় আপনাকে যে ক্ষেত্রটি অর্পণ করা হয়েছে তার অভ্যন্তরীণ কাঠামোটি আপনার জানতে হবে requires

অবশেষে আপনি একটি বহু মান ক্ষেত্রটি খালি মানটিতে সেট করে খালি করতে পারেন। তিনটি পদ্ধতিই সমান:

$wrapper->field_example->set();
$wrapper->field_example = array();
$wrapper->field_example = NULL;

"সত্তামেটাডাটা র‍্যাপার এক্সেপশন: অজানা ডেটা প্রপার্টি অ্যারে Ent যেমন, $ মোড়ক-> ভাষা ($ ল্যাং) -> {$ ক্ষেত্র} -> সেট ($ নতুন_আরে);
AlxVallejo

$w->field_allowed_regions->set(array(null));একমাত্র ক্লিয়ারিং বিকল্পটি যা আমার বহু-মূল্যযুক্ত শ্রেণিবদ্ধের রেফারেন্স ফিল্ডের জন্য কাজ করেছে।
অবিশ্বাস্য

3

আমি এটি খুঁজে পেয়েছি

$wrapper->field_example[]->set($new_value);

মারাত্মক ব্যর্থতা ছিল। কিন্তু

$wrapper->field_example[NULL]->set($new_value);

অনুমোদিত ছিল।

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