WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
rolesテーブルの作成

rolesテーブルの作成

このエントリーをはてなブックマークに追加

ユーザーの役割(権限)を設定するためのrolesテーブルを作成します。ルーターに下記のように記述します。

app/routes.php
/*
|---------------------------------------------
| rolesテーブルの作成
|---------------------------------------------
*/
Route::get('create/roles/table',function(){
//rolesテーブルの存在確認
if(!Schema::hasTable('roles')){
//rolesテーブルの作成
Schema::create('roles',function($table){
$table->increments('id');
$table->string('name',32);
$table->integer('level')->nullable();
//created_atとupdated_atの同時作成
$table->timestamps();
//deleted_atカラムを追加
$table->timestamp('deleted_at')->nullable();
});
//新規Roleの作成
Role::create(array(
'name'=>'Admin',
'level'=>100,
));
Role::create(array(
'name'=>'Manager',
'level'=>70,
));
Role::create(array(
'name'=>'Moderator',
'level'=>50,
));
Role::create(array(
'name'=>'Staff',
'level'=>30,
));
Role::create(array(
'name'=>'User',
'level'=>1,
));
Role::create(array(
'name'=>'Banned',
'level'=>0,
));
}else{
return 'rolesテーブルが存在しますので、処理を中止します。';
}
return 'rolesテーブルを作成しました。';

});
  • 13行目:level項目の数値により、ユーザーを振り分けられるようにしたいと思います。
  • 20-42行目:基本的なロールを作成しておきます。Adminのレベルを100にして、Userのレベルを1にしています。0レベルでBannedを作成していますが、ユーザーの権限を停止したりするのに利用できると思います。

ブラウザで、http://ドメイン名/create/roles/tableにアクセすると、rolesテーブルが作成されます。

Roleモデルの作成

次にRoleモデルを下記のように作成します。

app/models/Role.php
<?php
class Role extends Eloquent{
 protected $softDelete=true;
 protected $guarded=array('id');
}
  • 3行目:ソフトデリートを使用するための設定をします。
  • 4行目:id以外の複数代入を許可します。

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です