使用Laravel和Eloquent ORM,我试图确定一条记录是否存在于我的数据库中。这是我使用的是要进行测试的代码:Laravel雄辩的ORM存在财产不起作用
$store = Store::where('ext_hash', 'thisHashExists')->first();
if($store->exists){
echo 'yes';
}
else{
echo 'no';
}
$another_store = Store::where('ext_hash', 'thisHashDoesNotExist')->first();
if($another_store->exists){
echo 'yes';
}
else{
echo 'no';
}
第一个例子,其中散列存在,它工作正常,但在第二个例子中,当哈希值不存在,我收到在$another_store->exists
行错误。
Trying to get property of non-object
我猜的错误是因为$ another_store对象其实不是,因为我试图用静态方法创建一个对象。这个exists
属性应该如何使用?
我试着先创建对象,然后用非静态方法检索它,但这些方法似乎并不那样工作,除非我失去了一些东西。例如:
$store = new Store();
$store->where('id', 1)->first();
print_r($store);
该代码只是打印一个空Store
对象,仿佛where
和first
方法对对其没有影响。这是预期的吗?
首先()的返回值是Model对象或空值。如果结果中没有值,则返回null。 – 2014-08-28 15:34:13
好的谢谢。所以要检查记录是否存在,我可以检查变量是否为空。对于我的问题的最后一部分,使用像已经实例化的对象上的“where”这样的方法呢?应该正确地检索一个对象还是不能以这种方式使用这些方法? – flyingL123 2014-08-28 15:37:10