Owner.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. public $fillable = [
  14. 'name', //名称
  15. 'code', //代码
  16. 'checking_count', //审核数量
  17. 'deleted_at', //删除时间
  18. "customer_id", //客户ID
  19. "tax_rate", //税率
  20. "contract_number", //合同号
  21. "salesman", //销售名称
  22. "linkman", //联系人
  23. "phone_number", //联系电话
  24. "user_owner_group_id", //项目组ID
  25. "waring_line_on", //月单量预警
  26. "description" //描述
  27. ];
  28. public static function filterAuthorities(){
  29. $user=Auth::user();
  30. $query = (new static)->newQuery();
  31. if(!$user){
  32. return $query->where('id','0');
  33. }
  34. $ownerIds=$user->getPermittingOwnerIdsAttribute();
  35. return $query->whereIn('id',$ownerIds);
  36. }
  37. /**
  38. * 退货管理里,客户审核的代码,是拼音+日期+计数,计数的后缀就是checking_count
  39. * @return int|mixed
  40. */
  41. public function getIncreasedCheckingCount(){
  42. $this['checking_count']=$this['checking_count']+1;
  43. $this->update();
  44. return $this['checking_count'];
  45. }
  46. public function paperBoxes()
  47. {
  48. return $this->belongsToMany('\App\PaperBox', 'owner_paper_box', 'owner_id', 'paper_box_id');
  49. }
  50. public function orderTrackingOwner(){
  51. return $this->belongsTo(OrderTrackingOwner::class,'id','owner_id');
  52. }
  53. public function order(){
  54. return $this->hasOne(Order::class,'owner_id','id');
  55. }
  56. public function customer()
  57. { //客户
  58. return $this->hasOne(Customer::class,"id","customer_id");
  59. }
  60. public function userOwnerGroup()
  61. { //项目组
  62. return $this->hasOne(UserOwnerGroup::class,"id","user_owner_group_id");
  63. }
  64. }