Невозможно получить доступ к ключу объекта, потому что php CI предполагает его синтаксис php - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь получить ключ моего объекта, который будет возвращен контроллеру, но поскольку ключ содержит в нем count, php предполагает, что это php синтаксис, хотя на самом деле он предназначен для запроса sql select count(nim).

Это мой код, я объясню, что этот код делает, первые 3 строки - это идентификатор класса, имя которого - $classname. вторые 3 строки - это я подсчитываю, сколько студентов (количество студентов) имеют идентификатор класса, значение которого равно $classid (эта переменная содержит предыдущий идентификатор), тогда последние 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;

1 Ответ

1 голос
/ 20 июня 2020

Вы можете использовать alias, а затем использовать его как object ( ссылку ), например:

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

Посмотрите, если это помогает вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...