Vous devez utiliser des alias différents pour les 2 associations.
$this->belongsTo('ForumCategories', [
'foreignKey' => 'forum_category_id'
]);
$this->hasMany('ForumChildCategories', [
'className' => 'ForumCategories',
'foreignKey' => 'forum_category_id'
]);
Par ce $this->ForumCategories->find()
vous donnera le parent et $this->ForumChilfCategories->find()
les enfants.
Sinon - si c'est l'option - changez le schéma de votre base de données et utilisez le comportement de l'arborescence.