【发布时间】:2018-08-06 13:32:43
【问题描述】:
我正在编写 php,对于当前项目,我正在使用 laravel 框架(使用 Eloquent ORM)。在这个项目中,我创建了两个表:用户和任务。我想在这些表之间创建一个“一对多”的关系。所以一个用户可以有很多任务。在 Tasks 类中,我创建了方法 owner():
public function owner() {
return $this->belongsTo('App\Models\User', 'tasks_owner_foreign');
}
(key <i>tasks_owner_foreign</i> (column: owner) references on <i>users</i> (id))
但是当我用来获取用户名时
$task->owner()->name
我得到了这个例外: 未定义属性:Illuminate\Database\Eloquent\Relations\BelongsTo::$name(查看:/path to file/tasks.blade.php)
如果我用过
$task->owner->name
我得到了这个例外: 试图获取非对象的属性(查看:/path to file/tasks.blade.php)
可能是什么?或者是什么让我错了?
【问题讨论】:
-
试试
$task->users['name'] -
Task->table_name['column_name'] -
工作正常,但没有显示
-
它不起作用,因为关系没有正确设置
-
如何设置关系对?
标签: php laravel-5.3 laravel-eloquent