Closed browningweb closed 4 years ago
https://github.com/easy-swoole/orm/blob/19d5f0f2cde9635c69f78aec76ce1347d9ca2574/src/AbstractModel.php#L433-L438
例如 model 的原始表为 user,将 user 表分表为 user_1, user_2, user_3。 再调用 saveAll 方法时,会使用 $this->tableName('user_1')->saveAll($fields, false); 但是数据存储的时候,这个设置的表名没有生效。 需要改成 if ($replace && isset($row[$pk])){ $model = static::create()->tableName($this->tableName())->connection($connectionName)->get($row[$pk]); unset($row[$pk]); $model->update($row); $result[$key] = $model; }else{ $model = static::create($row)->tableName($this->tableName())->connection($connectionName); $model->save(); $result[$key] = $model; }
$this->tableName('user_1')->saveAll($fields, false);
if ($replace && isset($row[$pk])){ $model = static::create()->tableName($this->tableName())->connection($connectionName)->get($row[$pk]); unset($row[$pk]); $model->update($row); $result[$key] = $model; }else{ $model = static::create($row)->tableName($this->tableName())->connection($connectionName); $model->save(); $result[$key] = $model; }
1.该问题新版将会修复 2.请后续提交issue 按照模板以及使用 markdown 语法格式化代码、内容,以便查看
按照模板
markdown
https://github.com/easy-swoole/orm/blob/19d5f0f2cde9635c69f78aec76ce1347d9ca2574/src/AbstractModel.php#L433-L438
例如 model 的原始表为 user,将 user 表分表为 user_1, user_2, user_3。 再调用 saveAll 方法时,会使用
$this->tableName('user_1')->saveAll($fields, false);
但是数据存储的时候,这个设置的表名没有生效。 需要改成if ($replace && isset($row[$pk])){ $model = static::create()->tableName($this->tableName())->connection($connectionName)->get($row[$pk]); unset($row[$pk]); $model->update($row); $result[$key] = $model; }else{ $model = static::create($row)->tableName($this->tableName())->connection($connectionName); $model->save(); $result[$key] = $model; }