2013-04-05 2 views
-2

У меня есть функция модели я использовал CodeIgniter версии 2.1.3Codeigniter - Неизвестная Колонка В тех случаях, когда пункт

function get_last_ten_absen($limit, $offset) { 
    $this->db->select('absen.id_absen, absen.tanggal, absen.nis, siswa.nama, kelas.kelas, absen.absen'); 
    $this->db->from('absen, siswa, kelas, semester'); 
    $this->db->where('siswa.id_kelas=kelas.id_kelas'); 
    $this->db->where('absen.nis=siswa.nis'); 
    $this->db->where('semester.id_semester=absen.id_semester'); 
    $this->db->order_by('absen.tanggal', 'desc'); 
    $this->db->limit($limit, $offset); 
    return $this->db->get(); 
} 

Я получаю ошибку

A Database Error Occurred  
Error Number: 1054  
Unknown column 'siswa.id_kelas=kelas.id_kelas' in 'where clause' 

Пожалуйста, помогите мне.

ответ

-3

Это не как db-> где() работает в любом случае ...

$this->db->where('siswa.id_kelas=kelas.id_kelas'); 

Должно быть:

$this->db->where('siswa.id_kelas', 'kelas.id_kelas'); 
+2

Это тот же ответ, что и stormdrain ..., кроме того, это неверно – Mischa

2

Ваш where неверен - он принимает массив не является строкой:

$this->db->where('siswa.id_kelas=kelas.id_kelas'); 

должен быть

$this->db->where('siswa.id_kelas', 'kelas.id_kelas'); 

Как всегда, the manual может быть весьма полезным ...

+1

Да, он * может * быть весьма полезным. Посмотрите на ** 4) Пользовательская строка **. Это показывает вам, что приведенное выше является допустимым использованием 'where'. Единственная проблема заключается в том, что один из этих столбцов не существует в базе данных. Вы предлагаете полностью изменить запрос. Я не понимаю, почему люди выживают. Должно быть опущено. – Mischa

+0

Сохраняется ли это без указанных одинарных кавычек? – stormdrain

+0

Что значит? – Mischa

Смежные вопросы