本文整理汇总了PHP中app\models\Role::firstOrCreate方法的典型用法代码示例。如果您正苦于以下问题:PHP Role::firstOrCreate方法的具体用法?PHP Role::firstOrCreate怎么用?PHP Role::firstOrCreate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\models\Role
的用法示例。
在下文中一共展示了Role::firstOrCreate方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handle
/**
* Execute the job.
*
* @return Role
*/
public function handle()
{
$label = $this->group->getName();
$name = str_slug($label);
// We'll create the role if it doesn't exist already.
$role = Role::firstOrCreate(compact('name', 'label'));
// We'll double check that it was successfully retrieved / created.
if ($role instanceof Role) {
// Retrieve the members from the AD group.
$members = $this->group->getMembers();
foreach ($members as $member) {
// Import users that may not already be apart of our local DB.
$user = $this->dispatch(new ImportUser($member));
// Make sure the user isn't already apart of the role.
$exists = $role->users()->find($user->id);
if (!$exists) {
// Attach the user to the role if they
// aren't currently a member.
$role->users()->save($user);
}
}
return $role;
}
return false;
}
示例2: up
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$administrator = Role::firstOrCreate(['name' => 'administrator', 'label' => 'Administrator']);
// Welcome Permissions
Permission::firstOrCreate(['name' => 'admin.welcome.index', 'label' => 'View Administrator Welcome']);
// User Permissions
Permission::firstOrCreate(['name' => 'admin.users.index', 'label' => 'View All Users']);
Permission::firstOrCreate(['name' => 'admin.users.create', 'label' => 'Create Users']);
Permission::firstOrCreate(['name' => 'admin.users.edit', 'label' => 'Edit Users']);
Permission::firstOrCreate(['name' => 'admin.users.show', 'label' => 'View Users']);
Permission::firstOrCreate(['name' => 'admin.users.destroy', 'label' => 'Delete Users']);
// Role Permissions
Permission::firstOrCreate(['name' => 'admin.roles.index', 'label' => 'View All Roles']);
Permission::firstOrCreate(['name' => 'admin.roles.create', 'label' => 'Create Roles']);
Permission::firstOrCreate(['name' => 'admin.roles.edit', 'label' => 'Edit Roles']);
Permission::firstOrCreate(['name' => 'admin.roles.show', 'label' => 'View Roles']);
Permission::firstOrCreate(['name' => 'admin.roles.destroy', 'label' => 'Delete Roles']);
// Permission Permissions
Permission::firstOrCreate(['name' => 'admin.permissions.index', 'label' => 'View All Permissions']);
Permission::firstOrCreate(['name' => 'admin.permissions.create', 'label' => 'Create Permissions']);
Permission::firstOrCreate(['name' => 'admin.permissions.edit', 'label' => 'Edit Permissions']);
Permission::firstOrCreate(['name' => 'admin.permissions.show', 'label' => 'View Permissions']);
Permission::firstOrCreate(['name' => 'admin.permissions.destroy', 'label' => 'Delete Permissions']);
// User Permission Permissions
Permission::firstOrCreate(['name' => 'admin.users.permissions.store', 'label' => 'Add Permissions to Users']);
Permission::firstOrCreate(['name' => 'admin.users.permissions.destroy', 'label' => 'Remove Permissions from Users']);
// Role Permission Permissions
Permission::firstOrCreate(['name' => 'admin.roles.permissions.store', 'label' => 'Add Permissions to Roles']);
Permission::firstOrCreate(['name' => 'admin.roles.permissions.destroy', 'label' => 'Remove Permissions from Roles']);
// Role User Permissions
Permission::firstOrCreate(['name' => 'admin.roles.users.store', 'label' => 'Add Users to Roles']);
Permission::firstOrCreate(['name' => 'admin.roles.users.destroy', 'label' => 'Remove Users from Roles']);
$administrator->grant(Permission::all());
}
示例3: run
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Role::firstOrCreate(['name' => 'hacker']);
Role::firstOrCreate(['name' => 'exec']);
Role::firstOrCreate(['name' => 'sponsor']);
Role::firstOrCreate(['name' => 'sponsor-group-1']);
Role::firstOrCreate(['name' => 'sponsor-group-2']);
Role::firstOrCreate(['name' => 'sponsor-group-3']);
}
示例4: createRole
/**
* Creates a Role and returns it.
*
* @param $name
* @param $display_name
* @param $description
* @param bool $enabled
* @return \App\Models\Role
*/
protected static function createRole($name, $display_name, $description, $permissions = null, $enabled = true)
{
$role = Role::firstOrCreate(['name' => $name, 'display_name' => $display_name, 'description' => $description, 'enabled' => $enabled]);
if (!is_null($role) && is_array($permissions)) {
$role->perms()->sync($permissions);
}
return $role;
}