0

有一个关于 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(); ?>

有没有一种方法可以将两种搜索组合在一个表单中?

谢谢你的帮助

4

0 回答 0