拉拉维尔。如何判断ORM的结果
Posted
技术标签:
【中文标题】拉拉维尔。如何判断ORM的结果【英文标题】:laravel . How can I judge the results of ORM 【发布时间】:2016-09-19 22:46:40 【问题描述】:示例:
$example = new Model();
$example->name = 'abc';
$example->save();
如何判断ORM的结果? 像这样?
if($example->save)
...//do someting
else
...//do someting
但是,我认为是错误的。因为,$example->save()
会返回一个对象。所以,else
不能永远运行。如何判断 ORM 的结果?
谢谢大家。
【问题讨论】:
我一定是新手什么的。但是,什么是juage? 感谢您指出这一点! vvv 哦 k @CamW 对不起,这是法官 您是在检查模型是否保存或有错误?如果是,那么您可以将此块放在 try-catch 块中。 @SoulKeepsave()
返回一个布尔值。您可以在source code 中亲自查看。为什么你认为它返回一个对象?
【参考方案1】:
您可以使用返回true
或false
的insert()
方法:
$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) ...
但这并不安全,因为你可能会在这部分得到错误并且你将无法捕捉到它:
$example->name = 'abc';
【讨论】:
【参考方案2】:save() 将返回一个 boolean。所以你可以这样做:
$saved = $example->save();
if(!$saved)
// something
或者直接保存在if:
if(!$example->save())
// something
【讨论】:
以上是关于拉拉维尔。如何判断ORM的结果的主要内容,如果未能解决你的问题,请参考以下文章