2015-12-26 70 views
0

我有一個查詢,我想加載但它不工作。Laravel急於加載自定義查詢,而不是關係

我以前渴望加載的關係及其工作得很好,但是這一直給我這個錯誤:

Call to a member function addEagerConstraints() on null 

我的模型功能:

public function update_image() 
{ 
    return UpdateItem::where('type', 'image')->where('update_id', $this->id)->first(); 
} 

而其稱爲:

$updates = Update::with('project', 'update_items', 'update_image')->get(); 

我知道查詢本身是好的,但是這是哪裏出錯?

+0

99%的時間是由於其他地方缺少'return'語句造成的。你能告訴我們關係的定義在哪裏嗎? – Ohgodwhy

+0

你不能decalre這樣的關係..在文檔中閱讀它https://laravel.com/docs/master/eloquent-relationships –

+0

編輯後:我想你問錯了問題,告訴我們你想做什麼,因爲更新某些模型不是關係 –

回答

1

據我所知你不能急於加載任何關係,但你可以添加你的查詢到關係:在這種情況下(我假設它是基於你的問題的一對一)。

public function update_image() 
{ 
    return $this->hasOne('App\UpdateItem','update_id','id')->where('type', 'image'); 
} 
+0

認爲可能是這樣。不知道你可以添加查詢關係。謝謝! – Lovelock