【问题标题】:Laravel one-to-many relationship returns nullLaravel 一对多关系返回 null
【发布时间】:2012-11-26 14:26:51
【问题描述】:

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

表格如下所示:

用户:

待办事项:

还有模特:

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

还有……

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

请注意,我已经在数据库中为用户附加了一个“待办事项”。所以,话虽如此,我应该不能做到以下几点:

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

要获取该用户的待办事项?当dd()-ing 它时,我目前正在获取 Null:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    另请注意,返回数组的关系(例如 has_many、has_many_and_belongs_to)通常命名为复数形式,因此“todos”与“todo”相对。

    【讨论】:

    • 哇,是的,这很尴尬!谢谢:)
    猜你喜欢
    • 2019-07-24
    • 2013-10-21
    • 2018-04-11
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 2014-10-23
    • 2014-08-21
    相关资源
    最近更新 更多