在SQL查询中接收用户ID时出现问题-Cakephp

问题描述

朋友,我需要在用户视图中搜索记录。仅显示注册的记录。我有这个查询

      $user = $this->Users
      ->find('all')
      ->contain('Products',function (\Cake\ORM\Query $q) {
          return $q->where(['Products.name LIKE' => '%'.$this->request->getQuery('keyword').'%' ]);
      })
      ->where([ 'Users.id' => 'Products.user_id' ])
      ->toArray();
  
      $this->set('user',$user);
      $this->set('_serialize',['user']);

我认为我的问题出在这一行,因为我没有收到用户ID。我试图通过一个参数,但是它也不起作用。我收到错误消息:无法将类型string的值转换为整数

使用

$id = $this->request->getParam('pass');

我也可以理解这一点:

$id = $this->request->getAttribute('params');

debug
_____
    [
    'controller' => 'Users','action' => 'detailUser','pass' => [
        (int) 0 => '17'
    ],____

我可以获取用户ID,但是我不知道如何在查询中输入信息。 我感谢任何人都可以分析。

解决方法

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

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

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