【发布时间】:2015-10-02 17:08:45
【问题描述】:
我是 MVC 系统的新手。我是 laravel 的新用户。
我有一个简单的问题。我阅读了 laravel 文档。但是我不能完全理解 MVC 系统。
模型:应用\模型\用户 控制器:App\Http\Controllers\AuthController 查看:模板/navbar.blade.php
型号
<?php
namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
protected $table = 'users';
public function userRole(){
return $this->user_role;
}
}
控制器
<?php
namespace App\Http\Controllers;
use Auth;
use App\Models\User;
use Illuminate\Http\Request;
class AuthController extends Controller
{
public function getLogin(){
return view('auth.login');
}
public function postLogin(Request $request){
$this->validate($request, [
'mail' => 'required',
'password' => 'required',
]);
if(!Auth::attempt($request->only(['mail', 'password']))){
return redirect()->back()->with('form-error', trans('auth.failed'));
}
return redirect()->back()->with('info', "giriş yapıldı");
}
public function getLogout(){
Auth::logout();
return redirect()->back();
}
public function getRegister(){
}
public function postRegister(){
}
public function userRoleName(){
$userRole = User::userRole();
switch ($userRole){
case 9: return "Üst Düzey Yönetici"; break; //superAdmin
case 8: return "Yönetici"; break; //admin
case 7: return "Yardımcı Yönetici"; break; //moderator
case 6: return "Muhasebe Bölümü"; break; //accounting
case 5: return "Satış Bölümü"; break; //marketing
case 4: return "Depo Bölümü"; break; //storage
case 3: return "Ürün Yönetimi"; break; //productManager
}
}
}
我想在导航栏中(在视图中)显示 userRoleName
<li><a>{{ Auth::user()->name }}<br/><em>{{ -- CONTROLLER METHOD RESULT HERE --- }}</em></a></li>
我该怎么做?我正在使用 laravel 5.1
【问题讨论】:
-
对于用户角色使用“Gate”,Laravel ACL,检查这个mattstauffer.co/blog/…
-
能否请 OP 向我们展示使用的表格,
users和roles。Users可能有manyroles和manyroles可以在manyusers,一个user可以有一个role,表users可能没有@,roles表可以与user_role表相关,具体取决于关系 MN 或 1N。所以请枚举您正在使用的表。 @OP