在Eloquent Laravel中只获取内部联接等常见记录

时间:2016-03-12 04:49:54

标签: laravel join eloquent

我有two tables SectionsCategories

section id       section name

分类

category id      section id          category name

基本的外键结构。所以我想get records of all Sections with categories but only those sections which have a child category record。通常情况下你会使用内部联接,但我很擅长雄辩。我得到了所有的部分和类别,如左连接,但我不想要那样。

模型

中的

public function category()
    {
        return $this->hasMany('Obonce\Category','section_id');
    }


public function getSections()
    {
        $sections = Sections::find(1)->with(['category'])->get();
        return $sections;
    }

如何get records that are common for section and category?顺便说一下,我还没有在db中创建一个外键,只是一个虚拟的fk结构。这会导致这种关系出现问题吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Section::has('category')->get(); 只需查看以下链接https://laravel.com/docs/master/eloquent-relationships#querying-relations 查询关系存在部分。