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 sollte name statt category
  • 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 WO title LIKE '%ac%' ESCAPE '!' UND name = 'Horror' UND length >', 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']); ?

InformationsquelleAutor Zoe | 2015-08-21
Schreibe einen Kommentar