qingchen
讲的很好,从根上理解了yii的行为
- qingchen 赞了回答
1 首先运用事物必须是
innodb
引擎。其他无效,所以你先检查下数据库使用的引擎。2 当
$i=10
或11
的时候,$test->save()
会返回false
,这仅仅是插入数据库没有成功,并不会抛出一个异常 只有产生异常的时候,才会被catch
到,走catch
里的代码。当
for
循环完成后,因为没有产生异常,所以会走$tr->commit();
这行代码。如果你想让插入失败也抛出异常的话,可以自己手动添加,这样失败的时候就会走
catch
里面的代码了。if($test->save()) { //插入成功 } else { //插入失败 throw new Exception('insert error'); }
- qingchen 评论了教程 yii2感觉慢的原因
改过后本地的快了1s