Eloquent返回存在关系的行

时间:2014-08-27 11:40:44

标签: php laravel eloquent

我有一个父表和一个子表,其中雄辩的模型设置为:

class Parent extends Eloquent {

    public function children()
    {
        return $this->hasMany('child');
    }

}

class Child extends Eloquent {

    public function parent()
    {
        return $this->belongsTo('parent');
    }

}

如何只返回包含一个或多个子节点的父行?

2 个答案:

答案 0 :(得分:4)

来自documentation你这样做:

$parents = Parent::has('children')->get();

答案 1 :(得分:0)

我只有一个这样的人,我在这里列出父母的孩子,但是我只想列出一个也有孩子(grandChildren)的孩子。

最初:

$parent->children

不起作用:

$parent->children->has('grandChildren')->get()

工作:

$parent->children()->has('grandChildren')->get()

请注意包含()