Hallo Ich bin mehrere Tabellen in meiner Abfrage beitreten. Ich möchte die Ergebnisse basierend auf dem Suchschlüsselwort erhalten, das ich an mehreren Tabellen überprüfe.CakePHP Suche in Join-Tabelle
Hier ist mein Code
public function getGigPostBasedOnSearch($keyword){
$this->Behaviors->attach('Containable');
return $this->find('all', array(
'contain' => array(
'User','UserInfo', 'GigPostAndCategory.Category','Location','GigPostAndCalender'
),
'conditions' => array(
'AND' => array(
'GigPost.active' => 1,
'OR' => array(
array('GigPost.title LIKE' => '%'.$keyword.'%'),
array('GigPost.description LIKE' => '%'.$keyword.'%'),
array('Location.location_string LIKE' => '%'.$keyword.'%'),
)
)
//'OrderGigPost.request' => 0
),
'order' => 'GigPost.gig_post_id DESC',
'recursive' => 0
));
}
Die Abfrage arbeitet erfolgreich und hol mir die Ergebnisse, was ich wollte. Aber in derselben Abfrage möchte ich auch in der Kategorie Tabelle suchen. Aber wenn ich das tue
array('Category.cat_name LIKE' => '%'.$keyword.'%')
Ich bekomme einen SQL-Fehler, der besagt, dass es Spaltenname nicht finden konnte.
Kategorie Tabelle hat zwei Spalten cat_id
und cat_name
und GigPostAndCategory hat id
, cat_id
, gig_post_id
(weil man gigpost
das ist mehrere Kategorien haben kann, warum ich eine separate Tabelle für das gemacht)
Also brauche ich Hilfe, um ein Ergebnis basierend auf der Kategorie zu erhalten, wenn das gesuchte Schlagwort zu etwas in der Kategorie
passt
Danke @ Dave ... können Sie bitte schreibe diese Abfrage mit Join wenn möglich, ich bin neu und ich kenne nur diese Methode – hellosheikh