ele*_*rik 4 php try-catch laravel-4
Laravel 4与MySql db.出于某种原因,我无法在种子或迁移类中捕获数据库异常(Illuminate\Database\QueryException):代码永远不会进入catch块.
例如,如果我尝试在"name"列为UNIQUE的表上插入:
try {
$data = array('id' => 1, 'name' => 'foo');
DB::table('table')->insert($data);
}
catch (\Exception $e) {
$this->command->error("SQL Error: " . $e->getMessage() . "\n");
}
Run Code Online (Sandbox Code Playgroud)
...我总是得到这个错误:
PHP Warning: Uncaught exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
Run Code Online (Sandbox Code Playgroud)
任何的想法?谢谢你的帮助.
你必须捕获"Illuminate\Database\QueryException"
try {
$data = array('id' => 1, 'name' => 'foo');
DB::table('table')->insert($data);
}
catch (\Illuminate\Database\QueryException $e) {
$this->command->error("SQL Error: " . $e->getMessage() . "\n");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5857 次 |
| 最近记录: |