我有包含
的主题表id name
和包含
的语言表id subject_id
和分区表
id name
最后主题分割表(数据透视表)
id subject_id division_id
现在存在主题表和语言表之间的一对一关系以及主题表和分表之间的多对多关系,我需要通过使用关系函数来选择没有语言的主题表的主题< / p>
现在我只能获得关系函数主题表中的语言 Division Model ,如下所示
public function langSubject ()
{
return $this->belongsToMany('Subject' , 'subject_division','division_id','subject_id')
->join('lang_subject', 'lang_subject.subject_id' ,'=', 'subject.id')->get();
}
但到目前为止,我只能在没有语言的情况下才能获得科目
任何建议?
答案 0 :(得分:0)
您需要在join语句之后将语句 - &gt; select('tableName1.fieldName1','tableName2.fieldName2','tableName3.fieldName3')添加到您的语句中以获取tableName.fieldName,您可能需要使用leftJoin而不是join来获得结果,无论是否匹配。
答案 1 :(得分:0)
结帐Eloquent relationship documentation - &gt;副标题&#34;查询关系存在&#34;。在那里提到:: has方法,你可以在时尚中使用
Division::has('subject.lang', '<', 1)->get()
或至少是理论。 Haven还不需要它; - )
它也应该得到Laravel 4的支持。