Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Penyimpanan array multidimensi CodeIgniter di kolom tunggal database mysql

Seperti yang dikatakan pesan, Anda tidak memiliki kunci $data['view_count'] tetapi Anda memiliki $data[2017][6][10]['count'] nilai. Saya berasumsi tanggal-tanggal itu diubah secara dinamis sehingga Anda perlu mendapatkan nilai array dalam dengan kunci count .Jika array Anda selalu memiliki kunci yang sama yaitu $data[year][month][day][count] , Anda dapat menggunakan kode (sedikit dimodifikasi) dari ini jawab untuk mendapatkan nilai kunci itu. Masukkan model Anda

private function getCount($arr, $search)
{
    $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr)); 
    foreach($iterator as $key => $value) {
        if($search == $key && $value !== '') {
            return $value;
        }
    }
    return false;
}

Kemudian dalam metode pertama Anda gunakan nilai yang disaring melalui fungsi ini:

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 LEFT JOIN dari tiga tabel kembali ke banyak Baris

  2. Berapa ukuran kolom int(11) di mysql dalam byte?

  3. Bagaimana cara menyimpan string JSON di MySQL db

  4. Peringatan penaut saat membangun aplikasi terhadap mysql-connector-c/libmysqlclient/mysql C API

  5. Desain basis data - konvensi penamaan kunci utama