if if语句基于数据库行

时间:2014-05-20 08:24:46

标签: laravel laravel-4

我在弄清楚如何与Laravel中的数据库进行交互时遇到了一些麻烦。

我正在编写一个小应用程序,它到了我需要输入,检查并返回结果的位置。

我已按照文档设置身份验证,现在我可以让用户登录和退出。

所以我想做的是存储信件。

我有一张名为letter的表。

用户可以根据需要编写任意数量的字母,其用户ID存储在名为userID的列中的字母表中

当用户点击“信件”导航项时,会将他们带到

Route::get('letters')..........

当它加载视图时,如果数据库中没有字母,我希望它说'没有以前的字母'..如果DB中有一些字母,我只是想让它说'欢迎回来'

我无法找到实现目标的方式或地点。

我希望有人可以帮助我,并给我一些编写代码的手,因为我无法在文档中找到任何内容。

1 个答案:

答案 0 :(得分:1)

您需要在控制器中执行此操作。

Route::get('letters', ['uses' => 'LettersController@index']);

然后在你的信件控制器中

public function index()
{

    // Grab letters for the user. You need to be sure that the user is logged in
    $letters = Letter::forUser(Auth::user())->get();

    $data = [
        'letters' => $letters
    ];

    // You will be able to call $letters->count() in your view
    return View::make('letters.index', $data);
}

在你的信件模型中

public function scopeForUser(User $u)
{
    return $query->where('user_id', '=', $u->id);
}