转 Yii2 数据存入失败,并且没有任何报错提示
执行代码,执行结束后没有任何报错,并且数据库没有更新
$record->usedkey=implode(',',$usedkey);
$record->save();
}
$tr->commit();
顺着执行过程检查,查到ActiveRecord类,update方法,说明save正确的区分了是insert还是update,这是因为使用find()->one();有效。执行到了update方法的代码段。
if (!$this->isTransactional(self::OP_UPDATE)) {
return $this->updateInternal($attributeNames);
}
isTransactional的方法说明是,返回一个值,该值指示指定的操作在当前[[$场景]]中是否为事务性操作。不过前面带上了否定,这个就有点奇怪,因为之前的执行代码确实是安排在了事务里。不知道是怎么判断执行到了判断语句内部,而且,这个isTransactional的函数体内有一个很特殊的符号,"&"之前查框架时遇到过一次,我改成了”&&”,现在不敢乱改了,但是这个困惑还是存在。看代码。
public function isTransactional($operation)
{
$scenario = $this->getScenario();
$transactions = $this->transactions();
return isset($transactions[$scenario]) && ($transactions[$scenario] & $operation);...
浏览更多内容请先登录。
立即注册
更新于:2023-10-14 16:48:27
相关内容
Yii2 报错代码整理
Yii2 HeadersAlreadySentException 报错
Yii2报错 Object configuration must be an array containing a "class" o...
Yii2模型简介
Yii2模型简介-属性
Yii2模型简介-场景
Yii2模型简介-验证规则
Yii2模型简介-块赋值
Yii2模型简介-非安全属性
Yii2模型简介-数据导出
Yii2模型简介-字段
Yii2模型简介-最佳实践
mysql在导入大数据库的时候,报错 Unknown MySQL server host ... ER...
yii2研究计划及提示
推荐内容