mysql - 保存双向不可为空的约束
问题描述
我有一个带有 mysql 数据库的 Laravel 项目,有些约束是这样的。
我们有人员和项目。
每个人只被分配到一个项目。
每个项目都有一个经理,他是一个人。
project_id
所以我们在个人表和项目表中有一些外键manager_id
,这些不能为空。
但是现在我在保存时有一个先有鸡还是先有蛋的项目,因为我无法保存没有经理的项目,也无法保存没有项目的经理。
有什么方法可以为所有这些进行一次保存操作吗?
解决方案
您不需要双向绑定。只有 'project_id in person table' 就足够了。
然后,您可以在模型中定义关系。在这种情况下,项目模型应该有一个 'hasOne' 方法,而人员模型应该有一个 'belongsTo' 方法。阅读本文并尝试实施。
推荐阅读
- html - CSS Flexbox - 响应式边距
- xamarin - ACR 用户对话框 - 如何在 Xamarin.Forms IOS 中更改微调器颜色?
- java - Java中的SQL触发器调用函数
- javascript - 如何计算反应钩子状态变化的百分比
- node.js - 使用多租户 GraphDB (Neo4J / ArangoDB) 设计和实现 SaaS 应用程序
- deep-learning - Darknet YOLOv4 训练 - 它是否打印每张图像、每批、每一个细分?得到奇怪的数字
- sql - 当行丢失时,用 Oracle SQL PIVOT 结果中的自定义值替换 NULL
- javascript - 如何遍历类别以获取子类别并在其中创建嵌套的子类别数组?
- css - 在 SASS 模块之间引用类名
- android - Linkify.addLinks(textView、Linkify.WEB_URLS 或 Linkify.EMAIL_ADDRESSES)不能在 Android 中一起使用