使用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