Owner.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. use Illuminate\Support\Facades\Auth;
  6. /**
  7. * @method static orderBy(string $string, string $string1)
  8. */
  9. use App\Traits\ModelTimeFormat;
  10. class Owner extends Model
  11. {
  12. use ModelTimeFormat;
  13. use SoftDeletes;
  14. public $fillable = ['name','code','checking_count','deleted_at'];
  15. public static function filterAuthorities(){
  16. $user=Auth::user();
  17. if(!$user){
  18. return (new static)->newQuery()->where('id','0');
  19. }
  20. $ownerIds=$user->getPermittingOwnerIdsAttribute();
  21. return (new static)->newQuery()->whereIn('id',$ownerIds);
  22. }
  23. public function getIncreasedCheckingCount(){
  24. $this['checking_count']=$this['checking_count']+1;
  25. $this->update();
  26. return $this['checking_count'];
  27. }
  28. public function paperBoxes()
  29. {
  30. return $this->belongsToMany('\App\PaperBox', 'owner_paper_box', 'owner_id', 'paper_box_id');
  31. }
  32. public function orderTrackingOwner(){
  33. return $this->belongsTo('App\orderTrackingOwner','id','owner_id');
  34. }
  35. }