我有一个名为UserWords
的表,其中包含一个word_id
列,我想使用它从Words
表中获取行,并将它们连接在一起,就像连接操作一样。这样每个单词都会有来自UserWords
和Words
的信息。我在UserWord
中定义了如下关系:
class UserWord extends Eloquent{
public function word(){
$this->belongsTo('Word');
}
}
然后,我尝试获取所有的UserWords和Words,方法如下:
$words = UserWord::with("word")->
whereRaw("user_id = ".Auth::user()->id.
" AND lang1 = '".$lang1.
"' AND lang2 = '".$lang2."'")
->get();
如果我不用with(),这个可以正常工作。那么,我做错了什么?或者,我需要创建一个原始的
JOIN
才能得到我想要的结果吗?我以前从未处理过关系,所以也许我的思路是错的?无论如何,如果您能,请教我更多知识而不仅仅给出答案!我已经阅读了文档,并且认为应该可以工作,但这并没有,所以……我在这里问问题。
编辑: 我收到的错误信息是:
Call to a member function addEagerConstraints() on a non-object