每个用户通过类型ID外键都对应一种用户类型, TP里这算是一对一关联吗?

浏览:578 发布日期:2016/11/16 分类:ThinkPHP5专区 关键字: 建模 关联
[CMS项目]后台登录用户建模的时候,设置两张表一张是用户表tp_user,一张用户类型表tp_usertype,用户表和类型表之间通过外键建立字段约束

如下:CREATE TABLE `tp_usertype` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户类型ID',
  `type_name` varchar(255) DEFAULT NULL COMMENT '用户类型名称',
  `comment` varchar(255) DEFAULT NULL COMMENT '用户类型注释',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
  
CREATE TABLE `tp_user` (
  `user_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `user_name` varchar(32) NOT NULL,
  `user_password` varchar(64) NOT NULL,
  `user_type` tinyint(4) unsigned NOT NULL COMMENT '用户类型1,2--管理员、编辑'
  ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
KEY `fk_usertype` (`user_type`),
  CONSTRAINT `fk_usertype` FOREIGN KEY (`user_type`) REFERENCES `tp_usertype` (`id`) ON UPDATE CASCADE
请教大家一下:如果这里的每个用户通过外键都对应一种用户类型,
这也算是一种一对一关联吗?问题是一种用户类型可以对应多个不同用户啊。数据模型层创建用户类的时候应该如何定义,下面的写法正确吗?敬请大家指正namespace app\index\model;
use think\Model;

class User extends Model
{
    public function usertype()
    {
        return $this->hasOne('usertype');
    }
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>