/ / Ako získať hodnotu na kontingenčnej tabuľke - laravel, laravel-5

Ako získať hodnotu na otočnom stole - laravel, laravel-5

Som absolútny začiatočník Laravelu.

Chcel by som sa dostať "role_id" na kontingenčnom stole alebo "admin", ale neviem ako. Chcel by som vytvoriť systém, ktorý zobrazuje odlišné rozhranie podľa toho, akú rolu má používateľ. Chcel by som teda odlíšiť používateľov od admin, instructor, a user získaním "role_id" na kontingenčnom stole.

Akákoľvek rada by bola ocenená.

Users.php

public function users(){
return $this->belongsToMany("AppUser");
}

Roles.php

public function roles(){
return $this->belongsToMany("AppRole")->withTimestamps();
}

Tabuľka úloh:

1|admin|2016-04-02 16:51:25|2016-04-02 16:51:25
2|instructor|2016-04-02 16:51:25|2016-04-02 16:51:25
3|student|2016-04-02 16:51:25|2016-04-02 16:51:25

Chcel by som sa dostať role_id na kontingenčnom stole. Nasledujúcu tabuľku môžem získať s kódom „Auth :: User () -> role“

{
"id": "1",
"name": "admin",
"created_at": "2016-04-02 16:51:25",
"updated_at": "2016-04-02 16:51:25",

"pivot": {
"user_id": "1",
"role_id": "1",
"created_at": "2016-04-02 16:54:06",
"updated_at": "2016-04-02 16:54:06"
}

}

odpovede:

1 pre odpoveď č. 1

Pozrel som sa na moje nastavenie rolí, za svoj kód v musíte pridať nasledujúci kód Roles.php

public function hasRole($name)
{
foreach ($this->roles as $role)
{
if ($role->name == $name) return true;
}
return false;
}

public function assignRole($role)
{
return $this->roles()->attach($role);
}

public function removeRole($role)
{
return $this->roles()->detach($role);
}

hasRole kontroluje roly, assignRole a removeRole na pridanie a odstránenie rolí.

Na testovanie môžete urobiť niečo ako

if ($user->hasRole("student")) return "you are in student group"