Laravel 4 - 根据用户数据库中的值显示不同的视图
Posted
技术标签:
【中文标题】Laravel 4 - 根据用户数据库中的值显示不同的视图【英文标题】:Laravel 4 - Display a different view depending on a value in user database 【发布时间】:2014-08-08 15:01:07 【问题描述】:我正在尝试根据用户是否激活他们的帐户来显示个人资料视图 - 即活动 = 1(或 0 表示非活动)
如果用户已激活他们的帐户,则显示一个视图,其中包含用户的详细信息,如果他们没有显示不同的视图来说明他们需要激活他们的帐户。
这是我遇到问题的代码:
public function user($username)
// Get the /username from URL and check the database
$user = User::where('username', '=', $username);
// If /username does exist
if($user->count()->('active', '=', 1))
// Grab user info from database
$user = $user->first();
// return the active user view
return View::make('profile.active-user')->with('user', $user);
else
// Grab user info from database
$user = $user->first();
// return the inactive view
return View::make('profile.inactive-user')->with('user', $user);
return App::abort(404); // else throw a 404
任何帮助/逻辑将不胜感激。
谢谢,杰克。
【问题讨论】:
【参考方案1】:您可以通过结合 eloquent 查询和 404 来简化它。此外,您在查询之后已经有了用户对象,因此不需要额外的 eloquent 内容:
public function user($username)
//get user from db, if no result throw not found (404)
$user = User::where('username', '=', $username)->firstOrFail();
if($user->active)
// return the active user view
return View::make('profile.active-user')->with('user', $user);
else
// return the inactive view
return View::make('profile.inactive-user')->with('user', $user);
【讨论】:
完美运行 - 谢谢 :)以上是关于Laravel 4 - 根据用户数据库中的值显示不同的视图的主要内容,如果未能解决你的问题,请参考以下文章
使用 Laravel 和 AJAX 根据另一个输入的值显示其他输入
Laravel 4 如何使用 input::old() 方法在下拉菜单中显示选定的值?