2

我是 Laravel 的真正新手,但到目前为止我很喜欢它。但是,我正在努力解决问题,我想检索已登录用户的数据,但我不知道该怎么做。

我有几个表,但现在我会保持基本状态,我有项目表和用户表,我在模型中定义了这两者之间的关系,如下所示:

用户.php

public function projects() {
    return hasMany('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; 

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

提前致谢

4

1 回答 1

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');
    }
}
于 2013-11-10T17:57:06.517 回答