Это моя таблица foo:
----------------------------
id | name | type | parent_id
----------------------------
1 a | foo | null
2 b | bar | 1
3 c | baz | 1
4 d | foo | 1
5 e | baz | 1
6 f | bar | 1
7 f | baz | 1
, и это модель, связанная с этой таблицей:
class Foo extends Model {
public function childs()
{
return $this->hasMany(Foo ::class, 'parent_id');
}
public function parent()
{
return $this->belongsTo(Foo ::class, 'parent_id');
}
}
в моем контроллере:
$foo = Foo::find(1);
и мой вопрос, как я могу получить все дочерние элементы модели $foo
, упорядоченные и сгруппированные только по части базы столбца типа.что-то вроде этой таблицы:
id | name | type | parent_id
----------------------------
5 e | baz | 1
7 f | baz | 1
3 c | baz | 1
1 a | foo | null
2 b | bar | 1
4 d | foo | 1
6 f | bar | 1