这是我在block层写的查询代码:这是post传入的参数:然后mongo中有这条数据:查询结果为空,为什么? 模型中没有order_id:是不是就是这个原因导致查询为空
你自己都找到问题原因了,mongo没有表结构,因此需要在ar中加入属性配置,你试一下就知道了,就是model中需要加属性
评论的应该是订单中的产品,而不是订单吧,你扩展产品评论,应该和订单产品表id对应吧?
@Terry #2楼 当前用户, 同一订单同一产品只能评论一次,下一个订单还是这个产品他还是能评论一次,判断同一订单同一产品重复评论:我判断的review表中order_id和product_id
@Terry #1楼 是调用它来添加order_id?
是可以的,order_id 对应 sales_flat_order.order_id 字段
order_id
sales_flat_order.order_id
但是,这种做重复判断需要两个字段,order_id + product_id,如果用 sales_flat_order_item.item_id, 一个字段就够了,review.id 和 sales_flat_order_item.item_id , 一一对应.
order_id + product_id
sales_flat_order_item.item_id
review.id
你自己选择吧。
@zhuzhi1 [#4楼](#comment4) 是的,自己试试不就可以了吗?自己想出来问题存在的可能,为什么不自己尝试?而在这里一次一次的贴出来!!!!
可能
自动动手,多去看yii2源码。
鄙人希望发的每个帖子,都带着自己尝试解决这个问题的劳动过程。
@Terry #5楼 sales_flat_order_item这个表好像没有哪个字段存状态:是否评论过了,还不是要加个字段
@zhuzhi1 #7楼 产品评论表,加一个order_item_id字段, 关联到 sales_flat_order_item.item_id ,这样更合理一些
不过,你那种方式也行,具体看自己的业务,满足自己的业务就好,实用主义观点。
@Terry #8楼 大神,我都动态添加order_id字段成功了,为什么查询数据还是空
1.代码不要用截图,请贴代码上来!!!!!
2.
$data = Yii::$service->product->review->coll($filter); var_dump($data);
这个是返回结果,这么基本的语法问题,不要发过来了,自己去学习yii2,自己去看fecshop源码自己琢磨。
多转转脑子,多深究点东西,少提点这样的问题,自己多去琢磨下就能解决的问题,在这里问来问去,一点意思也没有,这不是聊天室。
@Terry #10楼 return $model ->attributes是为了看是否动态添加上order_id字段 注释了结果还是空
@Terry #10楼 ['=','order_id',$post['order_id']],
['=','product_id',$post['product_id']],我只要第二个条件就有2个结果,两个条件都要结果就为空
你去学习下yii2语法吧。
@zhuzhi1 #11楼 你直接在那个函数里面的数组加上字段就行,如果你想动态加,那么你需要先执行加字段的函数,然后在输出attributes
where条件改成这个:
where => [ ['order_id' => 'xxxx'], ['product_id' => 'xxxxx'] ]
好了,别回帖了,不想理这个帖子了,这些基本的东西,在这里说来说去,搞的一点兴致都没有。