जैसा कि संदेश कहता है, आपके पास कुंजी नहीं है $data['view_count']
लेकिन आपके पास $data[2017][6][10]['count']
. है मूल्य। मुझे लगता है कि उन तिथियों को गतिशील रूप से बदल दिया गया है, इसलिए आपको कुंजी द्वारा आंतरिक सरणी का मान प्राप्त करने की आवश्यकता है count
.यदि आपके सरणी में हमेशा समान कुंजियाँ होती हैं अर्थात $data[year][month][day][count]
, आप इस से कोड (थोड़ा संशोधित) का उपयोग कर सकते हैं उत्तर
उस महत्वपूर्ण मूल्य को प्राप्त करने के लिए। अपने मॉडल में रखें
private function getCount($arr, $search)
{
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
foreach($iterator as $key => $value) {
if($search == $key && $value !== '') {
return $value;
}
}
return false;
}
फिर अपनी पहली विधि में इस फ़ंक्शन के माध्यम से फ़िल्टर किए गए मान का उपयोग करें:
public function setView($data)
{
$count = $this->getCount($data, 'count');
if ($count !== false) {
$setData = $this->db->where('short', 'honwl')->update('ci_links', $count);
return $setData;
}
return false;
}