查询mongo,找到结果为空

bug问题 · zhuzhi1 · 于 6年前 发布 · 3374 次阅读

这是我在block层写的查询代码:这是post传入的参数:然后mongo中有这条数据:查询结果为空,为什么? 模型中没有order_id:是不是就是这个原因导致查询为空

共收到 15 条回复
Fecmall#16年前 0 个赞

你自己都找到问题原因了,mongo没有表结构,因此需要在ar中加入属性配置,你试一下就知道了,就是model中需要加属性

Fecmall#26年前 0 个赞

评论的应该是订单中的产品,而不是订单吧,你扩展产品评论,应该和订单产品表id对应吧?

zhuzhi1#36年前 0 个赞

@Terry #2楼 当前用户, 同一订单同一产品只能评论一次,下一个订单还是这个产品他还是能评论一次,判断同一订单同一产品重复评论:我判断的review表中order_id和product_id

zhuzhi1#46年前 0 个赞

@Terry #1楼 是调用它来添加order_id?

Fecmall#56年前 0 个赞

是可以的,order_id 对应 sales_flat_order.order_id 字段

但是,这种做重复判断需要两个字段,order_id + product_id,如果用 sales_flat_order_item.item_id, 一个字段就够了,review.idsales_flat_order_item.item_id , 一一对应.

你自己选择吧。

Fecmall#66年前 0 个赞

@zhuzhi1 [#4楼](#comment4) 是的,自己试试不就可以了吗?自己想出来问题存在的可能,为什么不自己尝试?而在这里一次一次的贴出来!!!!

自动动手,多去看yii2源码。

鄙人希望发的每个帖子,都带着自己尝试解决这个问题的劳动过程。

zhuzhi1#76年前 0 个赞

@Terry #5楼 sales_flat_order_item这个表好像没有哪个字段存状态:是否评论过了,还不是要加个字段

Fecmall#86年前 0 个赞

@zhuzhi1 #7楼 产品评论表,加一个order_item_id字段, 关联到 sales_flat_order_item.item_id ,这样更合理一些

不过,你那种方式也行,具体看自己的业务,满足自己的业务就好,实用主义观点。

zhuzhi1#96年前 0 个赞

@Terry #8楼 ![](https://i.loli.net/2017/12/21/5a3b8c1553e23.png)大神,我都动态添加order_id字段成功了,为什么查询数据还是空

Fecmall#106年前 0 个赞

1.代码不要用截图,请贴代码上来!!!!!

2.

$data = Yii::$service->product->review->coll($filter);

var_dump($data);

这个是返回结果,这么基本的语法问题,不要发过来了,自己去学习yii2,自己去看fecshop源码自己琢磨。

多转转脑子,多深究点东西,少提点这样的问题,自己多去琢磨下就能解决的问题,在这里问来问去,一点意思也没有,这不是聊天室。

zhuzhi1#116年前 0 个赞

@Terry #10楼 return $model ->attributes是为了看是否动态添加上order_id字段 注释了结果还是空

zhuzhi1#126年前 0 个赞

@Terry #10楼 ['=','order_id',$post['order_id']],

            ['=','product_id',$post['product_id']],我只要第二个条件就有2个结果,两个条件都要结果就为空
Fecmall#136年前 0 个赞

你去学习下yii2语法吧。

Fecmall#146年前 0 个赞

@zhuzhi1 #11楼 你直接在那个函数里面的数组加上字段就行,如果你想动态加,那么你需要先执行加字段的函数,然后在输出attributes

Fecmall#156年前 0 个赞

where条件改成这个:

where => [

	['order_id' => 'xxxx'],
	['product_id' => 'xxxxx']
]

好了,别回帖了,不想理这个帖子了,这些基本的东西,在这里说来说去,搞的一点兴致都没有。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics