文档章节

php – Laravel 5查询关系导致“调用成员函数addEagerConstraints()on null”错误( 转载)

o
 osc_y8yehimr
发布于 2019/03/20 11:53
字数 333
阅读 3
收藏 0

精选30+云产品,助力企业轻松上云!>>>

php – Laravel 5查询关系导致“调用成员函数addEagerConstraints()on null”错误

我一直在尝试创建一个简单的用户管理系统,但在查询关系时不断遇到障碍.例如,我有用户和角色,每当我尝试对所有用户及其角色进行查询时,我都会收到错误消息.标题中的那个只是我遇到过的最新版本.

我的用户和角色模型如下所示:

class Role extends Model { public function users() { $this->belongsToMany('\App\User', 'fk_role_user', 'role_id', 'user_id'); } }
class User extends Model { public function roles() { $this->belongsToMany('\App\Role', 'fk_user_role', 'user_id', 'role_id'); } }

我的迁移表中两者之间的多对多关系如下所示:

public function up() { Schema::create('role_user', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id')->unsigned()->nullable(); //fk => users $table->integer('role_id')->unsigned()->nullable(); //fk => roles $table->foreign('fk_user_role')->references('id')->on('users')->onDelete('cascade'); $table->foreign('fk_role_user')->references('id')->on('roles')->onDelete('cascade'); }); }

然后我尝试在控制器中获取他们关系的所有记录:

public function index() { $users = User::with('roles')->get(); return $users; }

所以我需要另一双眼睛告诉我这里我缺少什么?

您缺少定义关系的方法中的return语句.他们需要返回关系定义.

更换

public function roles() { $this->belongsToMany('\App\Role', 'fk_user_role', 'user_id', 'role_id'); }

public function roles() { return $this->belongsToMany('\App\Role', 'role_user', 'user_id', 'role_id'); }
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
关于laravel的最热门问题合集

关于laravel的最热门问题合集,有技术问题,上 bug200.com 如何让查询生成器将其原始SQL查询输出为字符串? https://bug200.com/post/18236294 给出以下代码: DB::table('users')->get(); 我...

osc_xlt7v4t5
2019/02/22
3
0
2019php面试大全

一 、PHP基础部分 1、PHP语言的一大优势是跨平台,什么是跨平台? PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的...

osc_8ogghyrc
2019/10/08
2
0
23 个你应该知道的 Laravel 面试问题

原文链接:learnku.com/laravel/t/4… 讨论请前往专业的 Laravel 开发者论坛:learnku.com/Laravel 探索下一次技术面试之前应该了解的前20个 Laravel 面试问题。 Q1:什么是Laravel? 主题:...

Summer__
03/10
0
0
23 个你应该知道的 Laravel 面试问题

https://juejin.im/post/5e670c936fb9a07cd323e796 原文链接:learnku.com/laravel/t/4… 讨论请前往专业的 Laravel 开发者论坛:learnku.com/Laravel 探索下一次技术面试之前应该了解的前2...

osc_fvp5wdwk
03/19
2
0
23 个你应该知道的 Laravel 面试问题

https://juejin.im/post/5e670c936fb9a07cd323e796 原文链接:learnku.com/laravel/t/4… 讨论请前往专业的 Laravel 开发者论坛:learnku.com/Laravel 探索下一次技术面试之前应该了解的前2...

osc_52r4y6wv
03/19
2
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux安装redis服务器和部署

Linux安装redis和部署 第一步:下载安装包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 访问https://redis.io/download 到官网进行下载。这里下载最新的5.0.5版本. 第二步:...

osc_3ytpwpyb
25分钟前
23
0
IF函数,根据条件设定输入内容

if函数通常用于条件判断,根据判断结果执行相应命令。 1.函数解释: IF(logical_test, [value_if_true], [value_if_false]) logical_test 必需。 计算结果为 TRUE 或 FALSE 的任何值或表达式...

osc_sumf8h95
27分钟前
9
0
Pytorch自定义dataloader以及在迭代过程中返回image的name

pytorch官方给的加载数据的方式是已经定义好的dataset以及loader,如何加载自己本地的图片以及label? 形如数据格式为 image1 label1 image2 label2 ... imagen labeln 实验中我采用的数据的...

osc_l8u38961
28分钟前
6
0
灯塔

\[love\ and \ share \] 我怎么感觉变成了好东西推荐呢?算了,本来也差不多 还没写完,想到再更 有好看玩的能不能评论一下,qwq 动漫 大多是些国漫,多在\(b\)站、腾讯视频、盗版小网站能够...

osc_dc6pbw3x
29分钟前
9
0
网易首页 」 网易手机 」 正文 苹果超薄触摸显示技术专利曝光:重新定义轻薄

最近,苹果公司的新屏幕专利技术已经曝光。特别是苹果公司的新型超薄触摸技术,它可以降低显示器的结构水平,消除多余的电路,并使屏幕更薄。该专利表明,这项新技术适用于iPhone,iPad,App...

osc_opzpp18v
31分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部