如何解决对拥有产品的用户的订单进行问题过滤-Cakephp 3
朋友,我有一个订单表,其中记录了用户的订单。该表包含以下字段:
id,数量,product_id,user_id
通过这种方式,用户可以购买其产品并查阅其历史记录。问题是我想在注册产品的公司那边这样做。我只想为拥有产品的用户按product_id进行过滤。
我的OrdersTable.php
.
.
$this->belongsTo('Products',[
'foreignKey' => 'product_id','joinType' => 'INNER',]);
$this->belongsTo('Users',[
'foreignKey' => 'user_id',]);
}
我的方法如下。请注意,我以手动输入ID为例。这个想法是从登录的用户那里捕获这些信息。如果有人可以查看或评论,我将不胜感激。我不知道该怎么解决!
public function index()
{
$this->paginate = ['contain' => ['Users','Products']];
$query = $this->Orders->find('all')->where(['Orders.product_id' => 76]);
$this->set('orders',$this->paginate($query));
$this->set('_serialize',['order']);
}
解决方法
谢谢大家的关注。我是这样决定的:
$query = $this->Orders->find();
$query->contain('Products',function ($q) {
return $q->where(['Products.user_id' => $this->getRequest()->getSession()->read('Auth.User.id')]);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。