我有用戶表,其中包含有關用戶及其角色的信息,因此這里的唯一是“電子郵件”,“role_id”,“電話”組合在一起,因此電子郵件可以復制,但如果role_id和電話號碼重復,則不能重復,這是因為用戶可以是客戶,這意味著role_id = 1,或者他將帳戶作為企業(yè)帳戶,這意味著role_id = 2,但如果此客戶需要重置其客戶怎么辦密碼,還是他的企業(yè)帳戶密碼?我該怎么做?桌子 Schema::create('users', function (Blueprint $table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->string('fname'); $table->string('lname'); $table->boolean('role_id')->default(1); $table->string('phone'); $table->string('email'); $table->unique(['email', 'role_id','phone']); $table->string('password'); $table->boolean('status')->default(1); $table->rememberToken(); $table->timestamp('email_verified_at')->nullable(); $table->timestamps(); });
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
好的解決方案是添加一個新的關系表,例如user_role(user_role.user_id,user_role.role_id),并使用一個唯一字段(電子郵件或電話)創(chuàng)建索引。
但是,您需要在登錄表單或其他位置添加角色下拉列表?;蛘吒淖儭矮@取的禮儀”。例如,如果用戶具有客戶角色和業(yè)務角色,則可以授予他訪問這兩個角色的所有功能的權限。
另一種解決方案是將角色下拉列表添加到密碼重置表單中...
另一個解決方案是重置所有用戶行的密碼。通過這種方式,用戶可以通過電子郵件更改角色以進行登錄
- 1 回答
- 0 關注
- 121 瀏覽
添加回答
舉報
0/150
提交
取消