OrganizationOffice.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Imports\Docter;
  3. use App\Models\Office;
  4. use App\Models\Organization;
  5. use App\Models\Qualification;
  6. use Maatwebsite\Excel\Concerns\ToModel;
  7. use phpDocumentor\Reflection\Types\Nullable;
  8. class OrganizationOffice implements ToModel
  9. {
  10. /**
  11. * @param array $row
  12. *
  13. * @return \Illuminate\Database\Eloquent\Model|null
  14. */
  15. public function model(array $row)
  16. {
  17. //跳过首行
  18. if (($row[0] == "姓名")) {
  19. return null;
  20. }
  21. $org_id = null;
  22. $office_id = null;
  23. //所属医院
  24. if ($row[3])
  25. {
  26. $org_id = Organization::firstOrCreate([
  27. 'name' => $row[3]
  28. ],[
  29. 'name' => $row[3],
  30. 'type' => 1,
  31. 'level' => 0,
  32. 'introduce' => '',
  33. 'phone' => '',
  34. 'address' => '',
  35. 'latitude' => 0,
  36. 'longitude' => 0,
  37. ]);
  38. }
  39. //所属科室
  40. if ($row[4]&&$org_id)
  41. {
  42. $office_id = Office::firstOrCreate([
  43. 'org_id' => $org_id['id'],
  44. 'name' => $row[4]
  45. ]);
  46. }
  47. if ($row[5]==null)
  48. {
  49. $row[5] ='其它';
  50. }else{
  51. Qualification::firstOrCreate([
  52. 'name' => $row[5]
  53. ]);
  54. }
  55. }
  56. }