Mysql
 sql >> база данни >  >> RDS >> Mysql

Съхранение на многомерен масив на CodeIgniter в единична колона на базата данни на mysql

Както се казва в съобщението, нямате ключ $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;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конвертирате mysql в laravel query builder

  2. Как да разреша грешката на mysql порт 3306 на wamp?

  3. Преобразувайте всички данни от таблицата на mysql в JSON при пролетно зареждане

  4. Изключение на базата данни - Обща грешка:1021 Дискът е пълен

  5. Как да намеря n'-та най-висока стойност на колона?