codeigniter-inner join-Tabellen-syntax
error msg: Unbekannte Spalte 'Kategorie' in 'where-Klausel'
ich inner join zwei Tabellen. was sollte die richtige Abfrage?
Oder was für parameter sollte ich in $query->get()? Wenn ich nur 'film', es kann nicht finden, 'Kategorie' - Spalte in einer anderen Tabelle.
$query = $this->db->select('title, name as category, rental_rate, length')->order_by($sort_by, $sort_order);
$query = $this->db->join('film_category', 'film_category.film_id = film.film_id');
$query = $this->db->join('category', 'film_category.category_id = category.category_id');
if(strlen($query_array['title'])) {
$query->like('title', $query_array['title']);
}
if(strlen($query_array['category'])) {
$query->where('category', $query_array['category']);
}
$data['films'] = $query->get('film', 20, $this->uri->segment(6));
- Sie haben
category
Spalte in der Tabelle sein soll denke ich, es solltename
stattcategory
- können Sie Tabelle-schema
- ja, die Spalte name ist der "name" statt "Kategorie", aber selbst wenn ich es ändern zu $query->where('name', $query_array['Kategorie']); gleiche: error msg: Unknown column 'name' in 'where clause' SELECT * FROM
film
WOtitle
LIKE '%ac%' ESCAPE '!' UNDname
= 'Horror' UNDlength
>', 100' - film_category Tabelle hat 2 Spalten: film_id, category_id;;; Kategorie-Tabelle hat 2 Spalten: kategorie_id, name
- Sie können verwenden Sie $this->db->query("Ihre sql hier"); wenn Sie möchten, um mit ihm getan..
- Statt
$query->where('category', $query_array['category']);
sollte es nicht$this->db->where('category', $query_array['category']);
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen, dass der code, den ich Hinzugefügt und stellen Sie sicher, dass auf der Kategorie-Tabelle, die Spalte wird als "category_id, und nicht nur die id, und das unter film_category, gibt es eine Spalte" category_id.
Wenn mit dem code, den ich eingereicht, und Sie weiterhin die Fehlermeldung erhalten, versuchen Sie, ersetzen Sie die erste Zeile mit
Ich bin mir nicht sicher, ob mit einem Namen, der Spiele eine Tabelle wird die Ursache für Probleme mit CodeIgniter und ActiveRecord.
Hoffe, das hilft.