Station.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Carbon\Carbon;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\Relations\HasOne;
  7. use App\Traits\ModelLogChanging;
  8. class Station extends Model
  9. {
  10. use ModelLogChanging;
  11. use ModelTimeFormat;
  12. protected $fillable=['name', 'code', 'station_type_id','sequence','parent_id'];
  13. public function stationType(){
  14. return $this->belongsTo(StationType::class);
  15. }
  16. public function parent(){
  17. return $this->belongsTo(Station::class);
  18. }
  19. public function child(){
  20. return $this->hasOne(Station::class,'parent_id');
  21. }
  22. public function currentStationTask(){
  23. return $this->hasOne(StationTask::class)
  24. ->where('status','=','处理中');
  25. }
  26. public function stationTasks_today(){
  27. return $this->hasMany(StationTask::class)
  28. ->where('created_at','>=',now()->format('Y-m-d'))
  29. ->orderBy('status')
  30. ->orderByDesc('id')
  31. ;
  32. }
  33. public function stationTasks()
  34. { //站任务
  35. return $this->hasMany(StationTask::class,"id","station_type_id");
  36. }
  37. public function stationTypeBinMonitor(){
  38. return $this->hasOne(StationTypeBinMonitor::class);
  39. }
  40. public function pendingStationTask(): HasOne
  41. {
  42. return $this->hasOne(StationTask::class)
  43. ->where('status','=','待处理');
  44. }
  45. }