在用户视图中搜索产品-Cakephp 3

问题描述

朋友,我正在显示用户的个人资料以及他注册的产品。我的关系是正确的。我可以正常列出所有产品以及用户信息。但是我在用户视图中的产品搜索字段不起作用。

这是我的代码detail_user.ctp

//user information only above. (Address,Telephone,etc.)
.
.
.
  <h2 class="bd-title mt-2" id="content">Products gallery</h2>
    <div class="card mt-2 mb-2">
      <div class="card-header">
        <?= $this->Form->create('',['type' => 'get']); ?>
        <div class="input-group">
          <?= $this->Form->control('keyword',array('class' => 'form-control','name'=> 'search','label' => false,'required' => true,));?>
          
          <div class="input-group-append">
            <?= $this->Form->button(__('Search')); ?>
          </div>
        </div>
      </div>
      <div class="table-responsive">
        <table class="table table-hover">
          <tbody>
            <?PHP foreach ($user->products as $product): ?>

              <td> 
                <p class="title mb-0"><?= h($product->name) ?> </p>
                <var class="price text-muted">R$ <?= number_format($product->price);?></var>
              </td>
              <td>  <br></td>
              <td width="130">
                <?= $this->Html->link(__('Open'),['controller' => 'Produtos','action' => 'details_product','prefix' => false,$product->slug],array('class' => 'btn btn-primary')) ?>

              </td>
            </tr>
            <?PHP endforeach; ?>

          </tbody></table>
        </div> <!-- table-responsive .end// -->
      </article>

我的方法是这样的:

 public function detailUser($slug)
  {
  
    $keyword = $this->request->getQuery('keyword');

    $query = $this->Users
    ->find()
    ->matching('Products',function(\Cake\ORM\Query $q) {
        return $q->where(['name LIKE' => ('%'. $this->request->getQuery('keyword') . '%')]);
    });

    $usuario = $this->Users
      ->findBySlug($slug)
      ->contain(['Products','Groups'])
      ->firstOrFail();

    $query = $this->Users->find('all');
    $this->set('user',$user);
    $this->set('query',$this->paginate());
  }

我很难解决这种方法。此刻,当我输入产品名称时,URL会更改,但不会搜索产品。

我查阅了生成sql,一切都正确,但是它没有过滤在搜索字段中输入的单词,也没有给出错误

我感谢任何评论

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)