2011-05-16 2 views
0

J'ai essayé d'utiliser le CakePHP Search Plugin avec le Blog tutorial disponible dans le livre de recettes et même si j'ai suivi les instructions à la lettre Je continue d'obtenir ce message d'erreur: Avertissement (512): Erreur SQL : 1064: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'parseCriteria' à la ligne 1.Problème avec le plugin de recherche CakePHP

C'est ce que je l'ai fait:

Modèle:

class Post extends AppModel { 
    var $name = 'Post'; 
    var $displayField = 'title'; 

    public $filterArgs = array(
      array('name' => 'title','type' => 'string'), 
    ); 
} 

Controller:

class PostsController extends AppController { 

    var $name = 'Posts'; 
    public $components = array('Search.Prg'); 

    public $presetVars = array(
    array('field' => 'title', 'type' => 'value'), 
    ); 

    function beforeFilter() { 
     parent::beforeFilter();  
    } 

    public function index() { 
    $this->Prg->commonProcess(); 
    $this->paginate = array(
     'conditions' => $this->Post->parseCriteria($this->passedArgs)); 
    $this->paginate = array('limit' => 15); 
    $this->set('posts', $this->paginate()); 
    } 

} 

Vue:

<?php 
    echo $this->Form->create('Post', array(
     'url' => array_merge(array('action' => 'index'), $this->params['pass']) 
      )); 
    echo $this->Form->input('title', array('div' => false, 'empty' => true));   
    echo $this->Form->submit(__('Search', true), array('div' => false)); 
    echo $this->Form->end(); 
?> 

Avez-vous une idée pourquoi cela se produit? Est-ce que je manque quelque chose?

Répondre

5

Vous obtenez cette erreur car vous n'avez pas associé le comportement à votre modèle Post. Au sommet de votre modèle de poste ajouter:

var $actsAs = array('Search.Searchable'); 
Questions connexes