Laravel 一对多关系返回 null
Posted
技术标签:
【中文标题】Laravel 一对多关系返回 null【英文标题】:Laravel one-to-many relationship returns null 【发布时间】:2012-11-26 14:26:51 【问题描述】:这就是我设置的内容。我有两张桌子; users
和 todos
。每个用户可以有多个“待办事项”。
表格如下所示:
用户:
待办事项:
还有模特:
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()
,因为它不应该是必需的,对吧?无论哪种方式都没有区别。我错过了什么吗?
【问题讨论】:
【参考方案1】:您需要返回关系对象,例如
class User extends Eloquent
public function todos()
return $this->has_many('Todo');
另请注意,返回数组的关系(例如 has_many、has_many_and_belongs_to)通常命名为复数形式,因此“todos”与“todo”相对。
【讨论】:
哇,是的,这很尴尬!谢谢:)以上是关于Laravel 一对多关系返回 null的主要内容,如果未能解决你的问题,请参考以下文章