$user = new \App\User;
$user->name = 'test';
$result = $user->save();
if (!$result)
throw new Exception;
or 下面这种形式
$user = new \App\User;
$user->name = 'test';
$result = $user->save();
// 不处理 false 异常直接交由 App\Exceptions\Handle 处理
问题:
1、save() 方法 会不会返回 false
2、什么样的情况 save() 方法会返回 false;
2017年8月9日17:59:28 编辑
因为看到有朋友 说是 数据库操作成功 就返回false 所以查看了下源码
上面截图是我查看的model save源码, 关于数据库的操作在所指向的两个方法里面,可是我点进去看这两个方法。
箭头标明 的几个数据库的 真实操作方法 并没有返回值。
反而 返回 false 的地方 是 creating 的模型监听事件 和 updating 模型监听事件
那现在如果我不用 creating 和 updating 的监听的话。
可不可以说。在调用save方法的时候 不用判断返回值。直接进行下一步业务逻辑
至于数据库如果操作失败的话,这里应该是直接抛出异常 交给 handle 去处理了