Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wielowymiarowy magazyn tablic CodeIgniter w pojedynczej kolumnie bazy danych mysql

Jak mówi wiadomość, nie masz klucza $data['view_count'] ale masz $data[2017][6][10]['count'] wartość. Zakładam, że te daty są zmieniane dynamicznie, więc musisz uzyskać wartość wewnętrznej tablicy za pomocą klucza count .Jeśli twoja tablica zawsze ma podobne klucze, np. $data[year][month][day][count] , możesz użyć kodu (zmodyfikowanego nieco) z ten odpowiedz aby uzyskać tę kluczową wartość. Włóż swó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;
}

Następnie w pierwszej metodzie użyj wartości przefiltrowanej przez tę funkcję:

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. Znajdź duplikaty w tej samej tabeli w MySQL

  2. Jak dynamicznie pobierać zawartość w polu tekstowym, w oparciu o wybór rozwijany w php

  3. W MySQL 5 SELECT COUNT(1) FROM nazwa_tabeli działa bardzo wolno

  4. Jak wykonać zbiorczą aktualizację w mySQL przy użyciu node.js?

  5. Błąd MySQL w CREATE TABLE dla relacji wiele-do-wielu