laravel 4如何检索登录的用户数据

时间:2013-11-10 17:55:28

标签: php laravel laravel-4 relationships

我是Laravel的真正新手但到目前为止我很喜欢它。我正在努力的事情,但我想检索登录用户的数据,我不知道如何去做。

我有几张桌子,但我现在保持基本,我有项目表和用户表,我已经在模型中定义了这两者之间的关系:

user.php的

public function projects() {
    return hasMany('project');

}

project.php

<?php
use Illuminate\Database\Eloquent\ModelNotFoundException;

class Project extends Eloquent
{
    public function user()
    {
        return belongsTo('user');
    }
}

我知道我可以执行以下操作以使用foreach循环检索数据库中的所有项目,但是这不会检索登录的用户项目:

$projects = DB::table('projects')->get();

我看到一个教程不是很深入,但他说访问模型查询我必须使用以下命令:

$project = User::all()->projects; 

然而,这也没有奏效。任何人都可以通过真实的教程或发布简单的例子向我指出正确的方向吗?

提前致谢

1 个答案:

答案 0 :(得分:6)

这些是您登录用户的项目:

if (Auth::check())
{
    $projects = Auth::user()->projects;
}

这必须在你的关系中:

class User extends Eloquent
{
    public function projects() {

        return this->hasMany('Project');

    }
}

您还需要将$ this添加到项目关系中:

class Project extends Eloquent
{
    public function user()
    {
        return $this->belongsTo('User');
    }
}