Jak říká zpráva, nemáte klíč $data['view_count']
ale máte $data[2017][6][10]['count']
hodnota. Předpokládám, že tato data se mění dynamicky, takže musíte získat hodnotu vnitřního pole pomocí klíče count
.Pokud má vaše pole vždy podobné klíče, tj. $data[year][month][day][count]
, můžete použít kód (bitově upravený) z toto odpověď
získat tu klíčovou hodnotu. Vložte svůj model
private function getCount($arr, $search)
{
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
foreach($iterator as $key => $value) {
if($search == $key && $value !== '') {
return $value;
}
}
return false;
}
Pak ve své první metodě použijte hodnotu filtrovanou přes tuto funkci:
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;
}