【发布时间】:2016-06-24 11:48:27
【问题描述】:
我尝试在我的应用程序中创建一个搜索表单,我想用一个输入搜索帖子,然后搜索标题和内容。
编辑:我使用CakePHP Search plugin 我的控制器
public function initialize(){
parent::initialize();
$this->loadComponent('Search.Prg', ['actions'=>'index','lookup']);
}
public function search(){
$query = $this->Posts
->find('search',['search' => $this->request->query])
->contain(['Users','Categories'])
->where(['Posts.status' => 1]);
$this->set(compact('posts', $this->paginate($query)));
}
我的模特
use Search\Manager;
$this->addBehavior('Search.Search');
$this->searchManager()
->add('q', 'Search.Like', [
'before' => true,
'after' => true,
'mode' => 'or',
'comparison' => 'LIKE',
'wildcardAny' => '*',
'wildcardOne' => '?',
'field' => [$this->aliasField('name'), $this->aliasField('content')]
]);
在我看来
<?= $this->Form->create(); ?>
<?= $this->Form->input('q'); ?>
<?= $this->Form->button('Search', ['action'=>'index']); ?>
<?= $this->Form->end(); ?>
现在,如何显示查询结果?
【问题讨论】:
-
只需
$q = $this->request->query('q') -
和
public function search()
标签: php search full-text-search cakephp-3.0 cakephp-search-plugin