2013-10-05 5 views
1

Je travaille sur une requête qui utilise une variable $name pour obtenir seulement un résultat de la base de données.Cakephp: Ma fonction LIKE dans ma requête ne fonctionne pas

Ma requête ressemble à ceci.

$this->Project->find('first', array('Project.name LIKE' => '%$name%')); 

Au lieu de renvoyer les bonnes données, elle renvoie les premières données de la base de données.

J'ai un self made requête qui fonctionne, mais je veux qu'il y ait comme une requête de gâteau

$this->Project->query("SELECT * FROM projects WHERE name LIKE '%$name%'"); 

Le plus dira pourquoi vous n'utilisez findByName? Parce que la variable $name n'est pas exactement le même que le nom dans la base de données.

Quelqu'un peut-il m'aider s'il vous plaît avec ceci? J'ai lu les documents de cakePHP, mais je n'arrive pas à comprendre ce que je fais mal. Cake Retrieving Data

Répondre

1

La syntaxe find doit être:

$this->Project->find('first', array('conditions' => array('Project.name LIKE' => "%$name%"))); 
+0

Il travail de doen, il est dit 'bool (false)' –

+0

Désolé - la chaîne finale doit être soit des guillemets doubles ou une concaténation en raison de votre variable – AgRizzo

+0

Oui merci beaucoup, après la correction avec les guillemets doubles cela a fonctionné! –

Questions connexes