php - 数据表一对一关联问题
PHP中文网
PHP中文网 2017-04-10 16:51:44
[PHP讨论组]
class User extends Authenticatable
{
    public function profile()
    {
        return $this->hasOne(Profile::class);
    }

}
class Profile extends Model
    public function user()
    {
        return $this->belongsTo(User::class);
    }
    }

上面是一张user表和profile表的Model,两张表一对一关系,当用户登录后,可以创建他的profile,然后提交。
可是,第二次访问这个创建profile的表单页,也能提交成功,这哪里是一对一,这不是一对多么!是哪里有错,还是模型中进行一对一关联后,要保证profile只有一条记录,在控制器中还要进行判断?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
迷茫

要是能创建多个,那就不是一对一了呗
数据库是人设计的,又不是死的,需求是什么样的就设计成什么样的,如果是一对一,那就不能提交两个,如果能提交多个,那就是一对多

ringa_lee

提交后是重新覆盖那一条数据就可以一对一咯。

黄舟

首先查库看是否在profile已经有 该用户的记录了,如果有则update 更新 否则 insert插入记录

高洛峰

这个是你业务设计的问题,你需要在业务中去控制,如果出现了不符合一对一的情况,可以认为出现了数据不一致。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号