laravel。我如何判断ORM的结果

时间:2016-05-23 06:59:45

标签: php laravel

示例:

$example = new Model();
$example->name = 'abc';
$example->save();

我如何判断ORM的结果? 喜欢这个?

if($example->save){
    ...//do someting
}else{
    ...//do someting
}

但是,我认为这是错误的。因为$example->save()会返回一个对象。所以,else{}不能永远运行。我如何判断ORM的结果?

谢谢大家。

2 个答案:

答案 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) { ... }