我试图将对象的键返回给控制器,但由于键中包含count
,因此php假定它是php语法,而实际上它是用于查询sqlselect count(nim)
的。
这是我的代码,我将解释这段代码的作用,前3行是我得到的类id,类名是$classname
。 第二3行是我计算有多少学生(学生人数)有班级的id,值为$classid
(这个变量包含前面的id),然后最后3行是我得到房间名,房间的容量是学生人数(我的意思是这样我就可以得到房间名,房间容量和学生人数一样多)。 问题是,因为$JUMLAH_SISWA
(学生人数)包含一个带有键count(nim)
的对象,所以当我试图访问该键时,php假定count()
是php语法,而它实际上是用于sql查询的。
我该怎么做才能得到对象的键是count(nim)
的键
$this->db->select('kodeklas');
$id_kelas = $this->db->get_where('tik.kelas',array('namaklas'=>$data['namakelas']))->row();
$this->db->flush_cache();
$this->db->select('count(nim)');
$jumlah_siswa = $this->db->get_where('tik.mahasiswa',array('kelas_kodeklas'=>$id_kelas->kodeklas))->row();
$this->db->flush_cache();
$this->db->select('namaruang');
$opsi = $this->db->get_where('tik.ruangan',array('kapasitas'=>$jumlah_siswa->'count(nim)'))->result_array();
return $opsi;
您可以使用别名
,然后将其用作对象
(引用),如下所示-
$this->db->select('count(nim) as count_nim'); // now the count value will be stored in count_nim
// or $this->db->select('count(nim) count_nim');
$jumlah_siswa = $this->db->get_where('tik.mahasiswa',array('kelas_kodeklas'=>$id_kelas->kodeklas))->row();
$this->db->flush_cache();
$this->db->select('namaruang');
// use count_nim as an object ↓↓
$opsi = $this->db->get_where('tik.ruangan',array('kapasitas'=>$jumlah_siswa->count_nim))->result_array();
return $opsi;
看看这对你有没有帮助。