Skip to content

Commit 1f648f2

Browse files
authored
Merge pull request #146 from laravel-enso/feature/streets
Feature/streets
2 parents 01487b2 + 6c1d1cc commit 1f648f2

File tree

16 files changed

+99581
-180
lines changed

16 files changed

+99581
-180
lines changed

database/migrations/2017_12_07_152000_create_structure_for_addresses.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
use LaravelEnso\Migrator\Database\Migration;
44

5-
return new class extends Migration
6-
{
5+
return new class extends Migration {
76
protected array $permissions = [
87
['name' => 'core.addresses.update', 'description' => 'Update edited address', 'is_default' => false],
98
['name' => 'core.addresses.store', 'description' => 'Store newly created address', 'is_default' => false],
@@ -18,8 +17,9 @@
1817
['name' => 'core.addresses.coordinates', 'description' => 'Update coordinates for address', 'is_default' => false],
1918
['name' => 'core.addresses.create', 'description' => 'Get Create Form', 'is_default' => false],
2019
['name' => 'core.addresses.options', 'description' => 'Get addresses for select', 'is_default' => false],
21-
['name' => 'core.addresses.localities', 'description' => 'Get localities for the select', 'is_default' => false],
22-
['name' => 'core.addresses.regions', 'description' => 'Get regions for the select', 'is_default' => false],
20+
['name' => 'core.addresses.localities', 'description' => 'Get localities options for select', 'is_default' => false],
21+
['name' => 'core.addresses.regions', 'description' => 'Get region options for select', 'is_default' => false],
2322
['name' => 'core.addresses.postcode', 'description' => 'Get address based on the postcode', 'is_default' => false],
23+
['name' => 'core.addresses.sectors', 'description' => 'Get sector options for select', 'is_default' => false],
2424
];
2525
};
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
use LaravelEnso\Addresses\Models\Sector;
7+
use LaravelEnso\Upgrade\Helpers\Table;
8+
9+
return new class extends Migration {
10+
public function up()
11+
{
12+
Schema::create('sectors', function (Blueprint $table) {
13+
$table->id();
14+
15+
$table->integer('locality_id')->unsigned()->index();
16+
$table->foreign('locality_id')->references('id')->on('localities');
17+
18+
$table->string('name');
19+
20+
$table->timestamps();
21+
});
22+
23+
Schema::table('addresses', fn (Blueprint $table) => $table
24+
->foreignIdFor(Sector::class)->nullable()
25+
->after('locality_id')
26+
->constrained());
27+
}
28+
29+
public function down()
30+
{
31+
if (Table::hasColumn('addresses', 'sectory_id')) {
32+
Schema::table('addresses', fn (Blueprint $table) => $table
33+
->dropColumn('sector_id'));
34+
}
35+
36+
Schema::dropIfExists('sectors');
37+
}
38+
};

database/seeders/SectorSeeder.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace LaravelEnso\Addresses\Database\Seeders;
4+
5+
use Illuminate\Database\Seeder;
6+
use Illuminate\Support\Collection;
7+
use LaravelEnso\Addresses\Models\Locality;
8+
9+
class SectorSeeder extends Seeder
10+
{
11+
private const Bucharest = 'Bucuresti';
12+
13+
public function run()
14+
{
15+
$bucharest = Locality::firstWhere('name', self::Bucharest);
16+
$sectors = Collection::range(1, 6)
17+
->map(fn ($sector) => ['name' => $sector]);
18+
$bucharest->sectors()->createMany($sectors);
19+
}
20+
}

0 commit comments

Comments
 (0)