的更好的辦法,我有以下表用戶,角色和數據透視表ROLE_USER用下面的表結構播種透視表
用戶
- ID
- 用戶名
- 密碼
角色
- ID
- 作用
ROLE_USER
- ID
- ROLE_ID
USER_ID
<?php class PivotTableSeeder extends Seeder { public function run() { // Seeds the roles table DB::table('roles')->delete(); DB::table('role_user')->insert(array( array('user_id' => 1, 'role_id' => 1), array('user_id' => 2, 'role_id' => 2), array('user_id' => 3, 'role_id' => 1), array('user_id' => 3, 'role_id' => 3), array('user_id' => 3, 'role_id' => 5) )); } }
樞軸表使用種子DB select
有沒有更好的方式來種子表,包括數據透視表?
我在想也許當我播種我的用戶表時,它也會播種role_user表,而不是手動將數據插入到數據透視表中。
實施例:
角色
- ID = 1
- 角色=編碼
- ID = 2
- 角色=高科技
- ID = 3
- 角色=銷售
用戶
- ID = 1
- 用戶名=用戶
- 密碼=傳遞
- ID = 2
- 用戶名=用戶2
- 密碼= PASS2
角色用戶
- ID = 1
- USER_ID = 1
- ROLE_ID = 1
- ID = 2
- USER_ID = 1
- ROLE_ID = 2
- ID = 3
- USER_ID = 2
- role_id = 3
編輯
我用這個雄辯播種我的用戶表。 無論如何,在播種User時,role_user也會得到更新?
User::create(array(
'id' => '1',
'username' => 'user',
'password' => 'pass'
));
User::create(array(
'id' => '2',
'username' => 'user2',
'password' => 'pass2'
));
這不是創建角色,也不會附加()將您限制爲一條記錄?所以你必須運行多個插入才能爲用戶添加多個角色? – ollieread
角色已根據其代碼創建,僅附加創建的角色。 –
我以爲他想附加一個角色給每個用戶,但多個角色'同步'應該使用,謝謝@ollieread :-) –