【问题标题】:Change cell value in database. Yii2更改数据库中的单元格值。 Yii2
【发布时间】:2017-10-21 06:31:17
【问题描述】:

我想通过 += 更改单元格值,然后更新它。但是程序添加这个值并创建一个新行,我只需要添加到当前。

`

while (($row = fgetcsv($handle, 100, ',')) !== false) {
                        $wareHouse = Warehouse::find()->all();
                        $products = Products::find()->all();
                        $createBoth = true;
                      foreach ($wareHouse as $wr)
                      {
                          foreach ($products as $prod)
                          {
                              if ($prod->product_name==$row[0]&&$prod->warehouse_id==$wr->id&&$wr->warehouse_name==$row[2]){
                                  $prod->qty+=$row[1];
                                  $prod->update();
                                  $createBoth=false;
                              }
                          }
                      }

`

【问题讨论】:

  • 更新函数不创建行...检查得更好。如果您有其他一些插入代码的代码..

标签: database activerecord yii2 sql-update


【解决方案1】:

你可以试试这个;

    while (($row = fgetcsv($handle, 100, ',')) !== false) {
        $wareHouse = Warehouse::find()->all(); 
        $createBoth = true;
        foreach ($wareHouse as $wr) {
            if ($wr->warehouse_name == $row[2]):
                $prod = Products::find(['product_name' => $row[0], 'warehouse_id' => $wr->id])->one();
                $prod->qty = $prod->qty + $row[1];
                $prod->update();
                $createBoth = false;
            endif;
        }
    }

【讨论】:

    猜你喜欢
    • 2016-05-27
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多