cakephpのsearchプラグイン(複数キーワードによる検索)
cakephp2.7で簡単なサイトを作っていて、サイト内の検索機能を付けたいのでsearchプラグインをインストールしました。
いくつかサイトを調べて以下のように記述したら、とりあえず検索できるようにはなりました。
↓Hoge.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'),
)
);}
↓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を
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
上記のエラーが出ます。どこが悪いでしょうか?どうすれば複数のキーワードによる検索ができるようになるでしょうか?