File: /var/www/ipsremont-demo/database/migrations/2021_01_21_115442_add_address_permission.php
<?php
use App\Models\Role;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class AddAddressPermission extends Migration
{
/**
* @return string[][]
*/
protected function getPermissions()
{
return [
[
"name" => 'Адрес',
"slug" => 'address',
"description" => 'Редактирование адреса',
"type" => "service"
]
];
}
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$permissions = $this->getPermissions();
$roleService = Role::where('type', 'service')->first();
foreach ($permissions as &$permission) {
$permission['id'] = DB::table('permissions')->insertGetId($permission);
if (!empty($roleService->id)) {
DB::table('roles_permissions')->insert(['role_id' => $roleService->id, 'permission_id' => $permission['id']]);
}
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('roles_permissions', function (Blueprint $table) {
//
});
}
}