JobfairCompany.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace App\Models\Jobfair;
  3. use App\Models\Company;
  4. use App\Models\Subsite;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\SoftDeletes;
  7. class JobfairCompany extends Model
  8. {
  9. use SoftDeletes;
  10. protected $guarded = [''];
  11. protected $table = 'jobfair_companys';
  12. public function jobfair()
  13. {
  14. return $this->belongsTo(Jobfair::class, 'jobfair_id');
  15. }
  16. public function jobfair_companys()
  17. {
  18. return $this->hasOne(JobfairCompany::class, 'id');
  19. }
  20. public function companys()
  21. {
  22. return $this->belongsTo(Company::class, 'company_id');
  23. }
  24. public function jobfairCompanySinged()
  25. {
  26. return $this->hasOne(JobfairCompanySigned::class, 'company_id', 'company_id');
  27. }
  28. // public function jobfairPutJobs()
  29. // {
  30. // return $this->hasMany(JobfairPutJob::class, 'company_id', 'company_id');
  31. // }
  32. public function jobfairPutJob()
  33. {
  34. return $this->hasMany(JobfairPutJob::class, 'exid', 'id');
  35. }
  36. public function jobfairFloorPlanStands()
  37. {
  38. return $this->belongsTo(FloorplanStand::class, 'position_id');
  39. }
  40. public function subsites()
  41. {
  42. return $this->belongsToMany(Subsite::class, 'subsite_jobfairs', 'jobfair_id', 'subsite_id', 'jobfair_id');
  43. }
  44. public function jobfairBlackList()
  45. {
  46. return $this->belongsTo(JobfairBlacklist::class, 'company_id', 'company_id');
  47. }
  48. /**
  49. * @param \Illuminate\Database\Eloquent\Builder $query
  50. * @return \Illuminate\Database\Eloquent\Builder
  51. */
  52. public function scopeJoinFloorplanStand($query)
  53. {
  54. return $query->join('jobfair_floorplan_stands', 'position_id', '=', 'jobfair_floorplan_stands.id');
  55. }
  56. public function scopeWebJoinFloorplanStand($query)
  57. {
  58. return $query->join('jobfair_floorplan_stands', 'jobfair_companys.position_id', '=', 'jobfair_floorplan_stands.id');
  59. }
  60. static function getTableName()
  61. {
  62. $company = new JobfairCompany();
  63. return $company->getTable();
  64. }
  65. }