示例:
$example = new Model();
$example->name = 'abc';
$example->save();
我如何判断ORM的结果? 喜欢这个?
if($example->save){
...//do someting
}else{
...//do someting
}
但是,我认为这是错误的。因为$example->save()
会返回一个对象。所以,else{}
不能永远运行。我如何判断ORM的结果?
谢谢大家。
答案 0 :(得分:1)
save()将返回布尔值。所以你可以这样做:
$ saved = $ example-> save();
if(!$saved){
// something
}
或者直接保存在if:
中if(!$example->save()){
// something
}
答案 1 :(得分:0)
您可以使用返回insert()
或true
的{{1}}方法:
false
或者,您可以使用$inserted = Model::insert(['name' => 'abc']);
...//do someting
if($inserted){
}else{
...//do someting else
}
子句:
try... catch
您可以尝试这样做:
try
{
Model::insert(['name' => 'abc']);
...//do someting
}
catch(\Exception $e)
{
...//do someting else
}
但这不安全,因为你可以在这部分得到错误,你将无法抓住它:
$example = new Model();
$example->name = 'abc';
$example->save();
if ($example) { ... }