Như thông báo cho biết, bạn không có khóa $data['view_count']
nhưng bạn có $data[2017][6][10]['count']
giá trị. Tôi cho rằng những ngày đó được thay đổi động nên bạn cần lấy giá trị của mảng bên trong bằng khóa count
.Nếu mảng của bạn luôn có các khóa tương tự, tức là $data[year][month][day][count]
, bạn có thể sử dụng mã (đã sửa đổi một chút) từ cái này câu trả lời
để nhận giá trị khóa đó. Đưa vào mô hình của bạn
private function getCount($arr, $search)
{
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
foreach($iterator as $key => $value) {
if($search == $key && $value !== '') {
return $value;
}
}
return false;
}
Sau đó, trong phương pháp đầu tiên của bạn, giá trị sử dụng được lọc qua hàm này:
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;
}