修改循环后显示查询表达式错误:orderid
时间: 2024-04-12 10:27:18 浏览: 122
根据你提供的信息,我注意到你在修改循环后遇到了一个显示查询表达式错误的问题。这个错误可能是由于循环中的`$orderwhere`数组被覆盖导致的。
在你的修改中,你使用了`$orderwhere['orderid'] = $value;`来给`$orderwhere`数组赋值。然而,这样的写法会导致每次循环时都会覆盖`$orderwhere`数组中的`orderid`键值对,只保留最后一个订单ID。
为了解决这个问题,你可以将每个订单ID都添加到`$orderwhere`数组中,可以使用一个索引数组来存储订单ID。修改循环部分的代码如下:
```php
$orderwhere = [];
foreach ($list as $value) {
$orderwhere[] = $value;
}
```
这样,每次循环时都会将一个新的订单ID添加到`$orderwhere`数组中。
然后,在查询订单商品数据时,将`$orderwhere`数组作为查询条件传入。例如:
```php
$OrderProduct = $this->OrderProductModel
->with(['order'])
->where('orderid', 'in', $orderwhere)
->select();
```
这样修改后,应该能够正确查询到所有符合条件的订单商品数据。
希望这次修改能够解决你的问题!
阅读全文