Remove unused MorphToMany relationships from models and add CategoriesTableSeeder for category data population
This commit is contained in:
56
database/seeders/new/AddressSeeder.php
Normal file
56
database/seeders/new/AddressSeeder.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders\New;
|
||||
|
||||
use App\Models\User;
|
||||
use Exception;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use JsonMachine\Items;
|
||||
use JsonMachine\JsonDecoder\ExtJsonDecoder;
|
||||
|
||||
class AddressSeeder extends Seeder
|
||||
{
|
||||
public function run()
|
||||
{
|
||||
DB::transaction(function () {
|
||||
$table = 'user_addresses';
|
||||
|
||||
$items = Items::fromFile(
|
||||
database_path('data/addresses.json'),
|
||||
['decoder' => new ExtJsonDecoder(true)]
|
||||
);
|
||||
|
||||
// First we need to fill user_addresses table with json data, then find user id matching addressable_id and fill user options with {"address": "$data"}
|
||||
|
||||
foreach ($items as $data) {
|
||||
try {
|
||||
DB::table($table)->insert([
|
||||
'id' => $data['id'],
|
||||
'user_id' => $data['addressable_id'],
|
||||
'street_address' => $data['address'],
|
||||
'title' => $data['title'],
|
||||
'building' => $data['building'],
|
||||
'floor' => $data['floor'],
|
||||
'door' => $data['door'],
|
||||
'location' => $data['location'],
|
||||
'type' => $data['type'],
|
||||
'created_at' => $data['created_at'],
|
||||
'updated_at' => $data['updated_at'],
|
||||
'is_default' => false,
|
||||
]);
|
||||
} catch (Exception $e) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$user = User::where('id', $data['addressable_id'])->first();
|
||||
if ($user) {
|
||||
info($user);
|
||||
$user->options->set('address', $data['address']);
|
||||
$user->save();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user