13
我一直在试图创建一个简单的用户管理系统,但在查询关系时不断地碰到路障。例如,我有用户和角色并且每当我尝试对所有用户及其角色进行查询时,都会收到错误消息。标题中的只是我遇到的最新的一个。Laravel 5与关系查询导致“调用成员函数addEagerConstraints()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;
}
所以我需要另一双眼睛告诉我我在这里失踪了什么?
也为其他任何人,我需要解决从“fk_user_role”到“ROLE_USER”第二个参数相同的问题阅读本。 – Tomkarho
我现在要自杀:P小时浪费,至少现在我永远不会忘记 – Jorn
与我一样的问题,花几个小时解决愚蠢的错误谢谢你 –