cakephp2.7で簡単なサイトを作っていて、サイト内の検索機能を付けたいのでsearchプラグインをインストールしました。
いくつかサイトを調べて以下のように記述したら、とりあえず検索できるようにはなりました。
↓Hoge.php(モデル)
php
1class Hoge extends AppModel{ 2 public $actsAs = array( 3 'Search.Searchable' 4 ); 5 public $filterArgs = array( 6 array( 7 'name' => 'search_value', 8 'type' => 'like', 9 'field' => array('Hoge.q_body','Hoge.expl'), 10 ) 11 ); 12}
↓HogesController.php
class HogesController extends AppController{ public $scaffold; public $components = array( 'Search.Prg' ); public $presetVars = array( array( 'field' => 'search_value', 'type' => 'value' ), ); public $paginate=array( 'limit'=>50 ); function show(){//検索用アクション $this->Prg->commonProcess(); $conditions = $this->Hoge->parseCriteria($this->passedArgs); $this->set('hoges', $this->paginate(array( $conditions, )) ); }
さらに調べてモデルを上記のように書くことで複数カラムの検索もできるようになったのですが、半角スペースで区切って複数のキーワードによる検索をできるようにしたいです。
調べた結果、$filterArgsを
<?php class Hoge extends AppModel{ public $actsAs = array( 'Search.Searchable' ); public $filterArgs = array( array( 'name' => 'search_value', 'type' => 'like', 'field' => array('Hoge.q_body','Hoge.expl'), 'connectorAnd' => ' ', 'connectorOr' => ',' ) ); }
のようにすればよい、とあり、試した結果
Fatal Error Error: Class 'String' not found File: C:\xampp\htdocs\cakephp2\app\Plugin\Search\Model\Behavior\SearchableBehavior.php Line: 358
上記のエラーが出ます。どこが悪いでしょうか?どうすれば複数のキーワードによる検索ができるようになるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/21 15:45