hasMany(StatTreeLineClause::class, 'stat_tree_line_id', 'id'); } public function statTree(){ return $this->hasOne(StatTree::class, 'id', 'stat_tree_id'); } public function parent(){ return $this->hasOne(StatTreeLine::class, 'id', 'parent_stat_tree_line_id'); } public function children(){ return $this->hasMany(StatTreeLine::class, 'parent_stat_tree_line_id', 'id') ->orderBy('tree_order_position_index'); } public function displayLabel() { $lastStatTreeLineClause = StatTreeLineClause::where('stat_tree_line_id', $this->id) ->orderBy('position_index', 'DESC') ->first(); if($lastStatTreeLineClause) { return $lastStatTreeLineClause->clause_label; } return '-'; } }