Bonjour, Je rejoins plusieurs tables dans ma requête. Je veux obtenir les résultats basés sur le mot-clé de recherche que je vérifie sur plusieurs tables.Cakephp Recherche à partir de la table de jointure
Voici mon 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
));
}
La requête fonctionne avec succès et me obtenir les résultats que je voulais. Mais dans la même requête que je veux rechercher dans la table Catégorie ainsi. Mais si je le fais
array('Category.cat_name LIKE' => '%'.$keyword.'%')
Je reçois une erreur SQL qui indique qu'il n'a pas pu trouver le nom de la colonne.
table Catégorie a deux colonnes cat_id
et cat_name
et GigPostAndCategory a id
, cat_id
, gig_post_id
(parce que l'on gigpost
peut avoir plusieurs catégories c'est pourquoi je me suis fait une table séparée pour cela)
J'ai donc besoin d'aide pour obtenir un résultat en fonction de la catégorie ainsi si les mots clés recherchés correspondent à quelque chose dans la catégorie
merci ... @ Dave pouvez-vous s'il vous plaît écrire cette requête en utilisant join si possible, je suis nouveau à cela et je ne connais que cette méthode – hellosheikh