【问题标题】:Laravel 4 - Display a different view depending on a value in user databaseLaravel 4 - 根据用户数据库中的值显示不同的视图
【发布时间】: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

}

任何帮助/逻辑将不胜感激。

谢谢,杰克。

【问题讨论】:

    标签: view laravel laravel-4


    【解决方案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);
        }
    
    }
    

    【讨论】:

    • 完美运行 - 谢谢 :)
    猜你喜欢
    • 2014-12-18
    • 1970-01-01
    • 2021-08-11
    • 2020-06-09
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多