1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- class StatTreeLine extends Model
- {
- protected $table = 'stat_tree_line';
- public $timestamps = false;
- public function getRouteKeyName()
- {
- return 'uid';
- }
- public function lineClauses(){
- return $this->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 reportColumns(){
- return $this->hasMany(StatTreeLineReportColumn::class, 'stat_tree_line_id', 'id')
- ->orderBy('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 '-';
- }
- }
|