我是如何实现搜索帖子的:
搜索表单代码:
<?php
echo $form->create('Deal',array('action' => 'search'));
echo $form->input('Deal.search');
echo $form->end('Search');
?>
Run Code Online (Sandbox Code Playgroud)
在Controller中,输入以下搜索功能:
function search()
{
if (!empty($this->data)) {
$searchstr = $this->data['Post']['search'];
$this->set('searchstring', $this->data['Post']['search']);
$conditions = array(
'conditions' => array(
'or' => array(
"Post.title LIKE" => "%$searchstr%",
"Post.description LIKE" => "%$searchstr%"
)
)
);
$this->set('posts', $this->Post->find('all', $conditions));
}
}
Run Code Online (Sandbox Code Playgroud)
视图代码:
<?php foreach ($posts as $post): ?>
<tr>
<td><?php echo $post['Post']['id']; ?></td>
<td>
<?php echo
$html->link($post['Post']['title'],'/posts/view/'.$post['Post']['id']);?>
</td>
<td><?php echo $post['Post']['created']; ?></td>
</tr>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)
可能不是最好的/优雅的,但适用于简单的查询.
我总是倾向于制作一个“搜索”模型、“SearchesController”和视图,然后编写自己的自定义脚本来搜索我的数据库,
$this->Search->query("SELECT * FROM table WHERE condition 1 AND condition 2");
Run Code Online (Sandbox Code Playgroud)
我不知道任何“最佳”搜索,但很可能有组件和插件可以为您做类似的事情。最好检查一下面包店http://bakery.cakephp.org/
| 归档时间: |
|
| 查看次数: |
5439 次 |
| 最近记录: |