sql >> Databáze >  >> RDS >> Mysql

CodeIgniter multidimenzionální pole úložiště v mysql databázi jeden sloupec

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;
}


  1. Jak zjistím, zda je můj systém Oracle nastaven na podporu Unicode nebo vícebajtových znaků?

  2. Migrace Oracle na Postgres, MySQL nebo MS Access

  3. Jak vybrat datum a čas bez sekund v mysql?

  4. Použití if(isset($_POST['submit'])) k nezobrazení ozvěny při otevřeném skriptu nefunguje