有一个关于 cakephp3 搜索功能的问题,是否可以在搜索表单中的两个表/控制器中进行搜索?
这是代码,我正在尝试从类别名称和产品名称中搜索,它们的关系是产品具有类别 ID
这是来自控制器的代码
$c = $this->request->getQuery('c');
if(!empty($c)) {
$this->loadModel('Categories');
$category = TableRegistry::get('Categories');
$query = $this->Products->find()->contain(['Categories'=>['Products']])
->where(['Categories.name LIKE' => '%' . $c. '%']);
}
$this->set(compact('c','query'));
$key = $this->request->getQuery('key');
if(!empty($key)) {
$products->where(['Products.name LIKE ' => '%'.$key.'%']);
}
$this->set(compact('key'));
这是来自 HTML 方面,我 name="c",它只搜索 c 而不是键,
<?php echo $this->Form->create(null, ['type' => 'get', 'valueSources' =>
'query'); ?>
<?php echo $this->Form->control('search', ['type' => 'hidden']); ?>
<input type="text" class="form-control" name="c" placeholder="Search...">
<span class="input-group-append">
<button type="submit">
<?php echo $this->Form->end(); ?>
有没有一种方法可以将两种搜索组合在一个表单中?
谢谢你的帮助