Advertisement
Guest User

Untitled

a guest
Aug 28th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. <?php
  2.  
  3. use Illuminate\Database\Seeder;
  4. use App\City;
  5. use App\Town;
  6. use App\Street;
  7.  
  8. class CitiesTableSeeder extends Seeder
  9. {
  10. /**
  11. * Run the database seeds.
  12. *
  13. * @return void
  14. */
  15. public function run()
  16. {
  17. $json = json_decode(File::get(__DIR__."/cities.json"));
  18. $addedCity = 1;
  19. $totalCity = count($json);
  20. foreach($json as $city => $towns) {
  21. $citym = new City;
  22. $citym->name = $city;
  23.  
  24. $cityslug = str_slug($city);
  25. $slugcount = 2;
  26. while(City::where("slug", $cityslug)->count() > 0){
  27. $cityslug = str_slug($city)."-".$slugcount;
  28. $slugcount++;
  29. }
  30.  
  31. $citym->slug = $cityslug;
  32. $citym->save();
  33.  
  34. foreach($towns as $town => $streets) {
  35. $townm = new Town;
  36. $townm->city_id = $citym->id;
  37. $townm->name = $town;
  38.  
  39. $townslug = str_slug($town);
  40. $slugcount = 2;
  41. while(Town::where("slug", $townslug)->count() > 0){
  42. $townslug = str_slug($town)."-".$slugcount;
  43. $slugcount++;
  44. }
  45.  
  46. $townm->slug = $townslug;
  47. $townm->save();
  48.  
  49. foreach($streets as $street) {
  50. $streetm = new Street();
  51. $streetm->town_id = $townm->id;
  52. $streetm->name = $street;
  53.  
  54. $streetslug = str_slug($street);
  55. $slugcount = 2;
  56. while(Street::where("slug", $streetslug)->count() > 0){
  57. $streetslug = str_slug($street)."-".$slugcount;
  58. $slugcount++;
  59. }
  60.  
  61. $streetm->slug = $streetslug;
  62. $streetm->save();
  63.  
  64. $streetOrder++;
  65.  
  66. $this->command->info($city."-".$town."-".$street);
  67. }
  68. $townOrder++;
  69. }
  70. $cityOrder++;
  71.  
  72. $this->command->info("[".$addedCity."/".$totalCity."] City Completed!");
  73. $addedCity++;
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement