StatTreeLine.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. class StatTreeLine extends Model
  6. {
  7. protected $table = 'stat_tree_line';
  8. public $timestamps = false;
  9. public function lineClauses(){
  10. return $this->hasMany(StatTreeLineClause::class, 'stat_tree_line_id', 'id');
  11. }
  12. public function statTree(){
  13. return $this->hasOne(StatTree::class, 'id', 'stat_tree_id');
  14. }
  15. public function parent(){
  16. return $this->hasOne(StatTreeLine::class, 'id', 'parent_stat_tree_line_id');
  17. }
  18. public function children(){
  19. return $this->hasMany(StatTreeLine::class, 'parent_stat_tree_line_id', 'id')
  20. ->orderBy('tree_order_position_index');
  21. }
  22. public function displayLabel() {
  23. $lastStatTreeLineClause = StatTreeLineClause::where('stat_tree_line_id', $this->id)
  24. ->orderBy('position_index', 'DESC')
  25. ->first();
  26. if($lastStatTreeLineClause) {
  27. return $lastStatTreeLineClause->clause_label;
  28. }
  29. return '-';
  30. }
  31. }