orm – Laravel 4:渴望加载
发布时间:2020-12-15 05:02:22 所属栏目:Java 来源:网络整理
导读:我有一个名为UserWords的表,其中有一个word_id列,我想用它来从Words表中获取行,并将它们连接起来就像连接一样.这样每个人都将获得UserWords和Words中行的信息.我在UserWord中定义了这样的关系: class UserWord extends Eloquent{ public function word(){ $
我有一个名为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 解决方法
您的关系的定义不正确,您必须返回belongsTo方法调用的结果.请尝试以下方法:
class UserWord extends Eloquent { public function word(){ return $this->belongsTo('Word'); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |