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() 方法在下拉菜单中显示选定的值?

Laravel 4 - 显示带有旧数据输入以及数据库信息的编辑表单

根据数据验证选择更改公式中的值

在 laravel 中显示选定下拉列表中的值

选择数组中的值,分离并查询数据库 laravel