Dovresti usare alias diversi per l'associazione 2.
$this->belongsTo('ForumCategories', [
'foreignKey' => 'forum_category_id'
]);
$this->hasMany('ForumChildCategories', [
'className' => 'ForumCategories',
'foreignKey' => 'forum_category_id'
]);
Con questo $this->ForumCategories->find()
ti darà il genitore e $this->ForumChilfCategories->find()
i bambini.
Altrimenti, se questa è l'opzione, cambia lo schema del database e usa il comportamento ad albero.