ProcurementDeliverie.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Builder;
  5. use Illuminate\Database\Eloquent\Model;
  6. use App\Traits\ModelLogChanging;
  7. use Illuminate\Support\Facades\App;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Support\Facades\DB;
  10. class ProcurementDeliverie extends Model
  11. {
  12. use ModelLogChanging;
  13. use ModelTimeFormat;
  14. protected $fillable=[
  15. 'procurement_id','amount', 'initiator','status','signer','signed_at','receipt_amount'
  16. ];
  17. const status=[
  18. 0=>'待送货',
  19. 1=>'送货中',
  20. 2=>'送货完成',
  21. ];
  22. public function procurement(){
  23. return $this->belongsTo('App\Procurement','procurement_id','id');
  24. }
  25. public function receiver(){
  26. return $this->belongsTo('App\User','signer','id');
  27. }
  28. public function procurementCheckSheet(){
  29. return $this->belongsTo('App\ProcurementCheckSheet','id','procurement_delivery_id');
  30. }
  31. protected static function booted()
  32. {
  33. /** @var User $user */
  34. $user = Auth::user();
  35. if ($user && !$user->isSuperAdmin()) {
  36. /** @var \stdClass $user */
  37. $ids = array_column(DB::select(DB::raw("SELECT supplier_id FROM supplier_user WHERE user_id = ?"),[$user->id]),"supplier_id");
  38. if (count($ids)>0){
  39. static::addGlobalScope('supplier', function (Builder $builder)use ($ids) {
  40. $builder->whereIn('supplier_id', $ids);
  41. });
  42. }
  43. }
  44. }
  45. }