В Eloquent у меня есть модель Category
, которая позволяет мне определять некоторые категории банковских выписок для моих транзакций.
Категория может быть либо родительской, либо дочерней категорией. Все классифицированные транзакции относятся к дочерней категории:
Leisure
- Travel
- Flight
- Hotel
- Rental Car
..etc
Досуг - это родительская категория, где для свойства category_parent_id
установлено значение null
. Rental Car
- это подкатегория с category_parent_id
, для которой установлен идентификатор Leisure
. Транзакции связаны с Rental Car
, а не с Travel
.
. Я использую отношения parent
и children
, чтобы найти дочерних или родительских элементов, например:
public function parent()
{
return $this->hasOne( Category::class, 'id', 'category_parent_id' );
}
public function children()
{
return $this->hasMany( Category::class, 'category_parent_id', 'id' );
}
Однако если я хочу суммировать все транзакции в родительской категории, как я могу решить это? Ток не работает:
public function transactions()
{
return $this->children()->with('transactions');
}