Laravel一对多关系返回null

时间:2012-12-08 16:45:53

标签: database null relationship one-to-many laravel

所以这就是我设置的内容。我有两张桌子; userstodos。每个用户都可以拥有多个“待办事项”。

这是表格的样子:

用户: enter image description here

托多斯: enter image description here

模特:

class User extends Eloquent 
{
    public function todo() {
        $this->has_many('todo');
    }
}

和...

class Todo extends Eloquent 
{
    public function user() {
        $this->belongs_to('user');
    }
}

请注意,我已经在数据库中附加了一个“todo”。因此,如果说,我应该无法做到以下几点:

$user = User::find(1)->todo;

要获得该用户的待办事项? dd()时,我现在正处于空虚状态:

array(1) {
  ["todo"]=>
  NULL
}

那么,有什么想法吗?我尝试从Todo的模型中删除belongs_to(),因为它不应该是正确的吗?无论哪种方式都没有区别。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

您需要返回关系对象,例如

class User extends Eloquent 
{
    public function todos() {
        return $this->has_many('Todo');
    }
}

另请注意,返回数组的关系(例如has_many,has_many_and_belongs_to)通常被命名为复数,因此'todos'与'todo。