laravel - 如果不存在枢轴变形表,如何更新或插入?
问题描述
我需要将序列号添加到数据透视表,这是变形关系。创建数据透视表并设置为变形表应该很简单:
具有数据透视表名称 SerialNumber 的类
public function serial_numberable() {
return $this->morphTo();
}
现在如果我想在这个表中添加一些数据,我应该在其他类中创建函数。
类二手产品
public function serialNumbers() {
return $this->morphMany('App\SerialNumber', 'serial_numberable');
}
其他类UsedKit相同
public function serialNumbers() {
return $this->morphMany('App\SerialNumber', 'serial_numberable');
}
相同的功能。现在,如果我想将记录添加到数据透视表,我可以使用
$usedProduct = UsedProduct::find($productId);
// Add serial numbers
$serialNumber = new SerialNumber;
$serialNumber->serial_no = '87324y8743784';
$usedProduct->serialNumbers()->save($serialNumber);
这种变形关系完美无缺。但是如果数据透视表中存在记录,我不知道如何更新序列号?当我尝试总是保存新记录而不是更新时。
解决方案
推荐阅读
- angular - 如何导入 providedIn: 根单例服务?
- perl - 已回答:用于解析存储在本地时间的不明确数据而不参考 DST 状态的 Perl 方法
- knockout.js - 结帐页面上的淘汰赛 Js magento 2
- reactjs - 我正在尝试将照片上传到 Firebase
- python - 无法从 Python 中的字符串替换/删除 \xa0(从 Excel 解析)
- python - Dockerized django 应用程序不在浏览器中运行
- json - Apache HTTP 客户端中的请求 POST 失败
- python - 如何使用熊猫将字符串转换为时间戳
- mongodb - mongo $or/$and 带有两个用于地理查询的选择器
- prometheus - 如何按标签计算量规指标的百分比?