Database 更改数据库中的单元格值。Yii2

Database 更改数据库中的单元格值。Yii2,database,activerecord,yii2,sql-update,Database,Activerecord,Yii2,Sql Update,我想通过+=更改单元格值,然后更新它。但程序添加这个值并创建一个新行,我只需要添加到当前值 ` `你可以试试这个 while (($row = fgetcsv($handle, 100, ',')) !== false) { $wareHouse = Warehouse::find()->all(); $createBoth = true; foreach ($wareHouse as $wr) { if (

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

`

`你可以试试这个

    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;
        }
    }

更新函数不创建行。。。仔细检查。如果您有其他插入代码的代码。。
    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;
        }
    }