जिस सरणी को आप पास करने का प्रयास करते हैं वह एक बहु आयामी सरणी है। इसके बजाय इसे आजमाएं:
$ids = array();
foreach ($query->result_array() as $id)
{
$ids[] = $id['id'];
}
$this->db->where_in('id', $ids);
आप पुनरावृति के बिना query->result_array() को समतल नहीं कर सकते। लेकिन अगर आपको अपने आवेदन में इस तरह के प्रश्नों को संभालने की बहुत आवश्यकता है, और यदि आपके पास> =PHP 5.3 स्थापित है, तो आप निम्न फ़ंक्शन को कोडनिर्देशक सहायक फ़ाइल (या कहीं और उपयुक्त) में समतल सरणी में मदद करने के लिए रख सकते हैं:पी>
function flatten(array $array) {
$return = array();
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
return $return;
}
और अपने मामले में इसे इस तरह इस्तेमाल करें:
$ids = flatten($query->result_array());
$this->db->where_in('id', $ids);