【发布时间】:2017-08-24 09:58:52
【问题描述】:
我对模型工厂的多对多关系有疑问。
例如:
有users、roles 和user_role 表。
我为user 和roles 定义了模型工厂。接下来我尝试向用户添加角色:
$role = factory(Role::class)->create();
config(['admin_group_id' => $role->id]);
$admin = factory(User::class)->create();
$admin->roles()->save($role);
这是工作,但是当我得到$admin->roles()->first()->id 它不等于$role->id
【问题讨论】:
-
你确定 config(['admin_group_id' => $role->id]);是正确的?您将此 admin_group_id 存储在什么文件中?它通常类似于 config('myfile.myfield', $value) 不是吗?
-
这只是一个例子。我不明白为什么
$admin->roles()->first()->id在将角色保存给用户后不等于$role->id -
是什么关系?属于ToMany?
-
是的,belongsToMany
-
看我的回答 - 应该让你解决问题
标签: php laravel unit-testing model factory