在laravel 4中插入一些表格的行

时间:2015-04-28 05:21:11

标签: php laravel laravel-4 eloquent

我有包含

的主题表
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();

}

但到目前为止,我只能在没有语言的情况下才能获得科目

任何建议?

2 个答案:

答案 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的支持。