当前位置: 首页 > 知识库问答 >
问题:

php laravel雄辩的ORM关系

梁福
2023-03-14

我正在编写php代码,对于当前的项目,我正在使用laravel框架(带有雄辩的ORM)。在这个项目中,我创建了两个表:用户和任务。我想在这些表之间创建一个“一对多”的关系。因此,一个用户可以有许多任务。在Tasks类中,我创建了方法所有者():

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 

我得到这个异常:未定义的属性:illumb\Database\Eloquent\Relations\BelongsTo::$name(视图:/path to file/tasks.blade.php)

如果我用了

$task->owner->name 

我得到这个异常:试图获得非对象的属性(视图: /path文件/tasks.blade.php)

可能是什么?还是我错了?

我认为这将是有用的https://github.com/sergeymarchuk/project

共有1个答案

狄天逸
2023-03-14

在您的任务表迁移中没有名为tasks\u owner\u foreign的列。Ur任务表迁移

你使用了所有者

public function getowner() {
    return $this->belongsTo('App\Models\User', 'owner');
}
 类似资料:
  • 有人能解释一下原因吗?

  • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?

  • 我有一个表事务与复合主键id,Nom,日期和一个表Cour与Nom作为主键和一个事务有关一个Cour。 我怎样才能得到一个有口才关系的特定交易的课程?

  • 嗨,我正在学习laravel。我使用雄辩的ORM删除方法,但我得到了不同的结果。不是真的或假的,而是空的。我设置了一个资源路由,在UsersController中有一个销毁方法。 但是我总是得到一个响应{“status”:“0”,“msg”:“failed”},数据库中的记录被删除。 然后我使用dd($res)。它在页面中显示null。 但是从课程中我学习到它返回一个布尔值true或false。

  • 我正在创建Laravel应用程序,我正在使用雄辩的ORM从DB检索数据,同时使用JSON响应进行响应。在本例中,我通过关系(player1,matchRule…)获得与其他相关数据的匹配。 在案例A中,一切正常,并返回所有相关数据。例子: 在B的情况下,我得到的只是匹配的id,它也工作得很好。 在C的情况下,我试图获得属性,但我得到空。为什么啊?如您所见,当在A中返回整个匹配时,它存在于对象中。

  • 我的状态帖子有以下数据库设置。对于每一篇文章,用户可以喜欢这篇文章,评论这篇文章,甚至可以由作者在原始文章中添加标签。 我试图设置我的足智多谋的控制器后带回所有的数据通过JSON对象,但我不能正确地找到评论,喜欢或标记用户名。如果有区别的话,我会用哨兵2进行认证。 以下是数据库设置: 我的Post控制器,我只是有一个简单的页面,可以显示所有内容。我不想循环查看文件中的任何内容,我只想返回json完