1.写这个的原因

最近在写公司项目的时候一个功能很是让我头疼如标题看到的一样,平时我们一般都只负责数据表的查询或者连表查询某一个字段和A表字段一起显示出来。

但是添加到A表还是头一次,第一天想了很久都没有想出来很是头疼,于是只好把希望放在第二天谁知道一早上的就

灵光乍现,思路泉涌不息,在我的努力下终于写出来了☺

2.1.1 car_info表2.首先上数据库表

2.1.2  users表

好了废话不多说上代码。。。。

3.信息添加功能

     public  function  create(Request $request){
$input=$request->except('_token');
$res=\DB::table('users')->select('id')->where(['real_name'=>$input['name']])->get();
if ($res!=null){
foreach ($res as $value){
$data=\DB::table('car_info')->insert(['name'=>$input['name'],'principal'=>$input['principal'],'user_id'=>$value->id]);
if($data){
return redirect('admin/car_info');
}else{
return back();
}
}
}
$name=\DB::table('car_info')->insert(['name'=>$input['name'],'principal'=>$input['principal']]);
if($name){
return redirect('admin/car_info');
}else{
return back();
}
}

上诉功能实现的是添加的时候如果A(car_info)表的name对应B表的real_name相等得到B(users)表的主键,并且将得到的主键添加到A表的user_id中,实际操作的时候就是你添加A表name字段

如果sql语句查询到B表real_name字段名称对应那么对应的B表的id,将添加到A表对应的user_id里面,如果没有和B表的real_name对应那么则正常添加信息

4. 信息修改功能

有添加当然有修改啦好了废话不多说上干货代码伺候

  //修改
public function update(Request $request){
$input=$request->except('_token');//得到除却token之外的全部信息
$res=\DB::table('users')->select('id')->where(['real_name'=>$input['name']])->get(); if($res!=null){
foreach ($res as $value){
$data=\DB::table('car_info')
->where(['id'=>$input['id']])->update(['id'=>$input['id'],'name'=>$input['name'],'principal'=>$input['principal'],'user_id'=>$value->id]); if($data){
return redirect('admin/car_info');
}else{
return back();
}
}
}
$name=\DB::table('car_info')->where(['id'=>$input['id']])->update(['id'=>$input['id'],'name'=>$input['name'],'principal'=>$input['principal'],'user_id'=>null]);
if($name){
return redirect('admin/car_info');
}else{
return back();
}
}

上诉功能实现的是修改的时候如果A(car_info)表的name对应B表的real_name相等得到B(users)表的主键,并且将得到的主键添加到A表的user_id中,实际操作的时候就是你修改A表name字段

如果sql语句查询到B表real_name字段名称对应那么对应的B表的id,将添加到A表对应的user_id里面,如果没有和B表的real_name对应那么则将id为

sql查询如何将A表数据name字段对应B表name字段得到对应的B表id主键然后添加A到表usel_id中的更多相关文章

  1. SQL SERVER 从其它数据库中复制带自增ID主键的表数据

    SQL SERVER两个结构相同(或不同)的表,互相导入数据,方法有两种: 1.使用SQL SERVER 自带的导出.导入功能,在库名上右击,“任务”,导出数据.导入数据,这个操作具体不就不多讲了. ...

  2. Sql Server中的游标最好只用于有主键或唯一键的表

    游标cursor,我想大多数人都在sql server里面用过.当一个表数据量不太大的时候,游标还是可以用的,毕竟游标是循环一个表中每一行数据的最简便办法.但是如果你用一个游标去循环一个没有主键或唯一 ...

  3. Hibernate学习笔记(三)Hibernate生成表单ID主键生成策略

    一. Xml方式 <id>标签必须配置在<class>标签内第一个位置.由一个字段构成主键,如果是复杂主键<composite-id>标签 被映射的类必须定义对应数 ...

  4. 分布式中的分库分表之后,ID 主键如何处理?

    面试题 分库分表之后,id 主键如何处理?(唯一性,排序等) 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定 ...

  5. 面试官:分库分表之后,id 主键如何处理?

    面试题 分库分表之后,id 主键如何处理? 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全 ...

  6. sql 查询某个条件多条数据中最新的一条数据或最老的一条数据

    sql 查询某个条件下多条数据中最新的一条数据或最老的一条数据 test_user表结构如下: 需求:查询李四.王五.李二创建的最初时间或者最新时间 1:查询最初的创建时间: SELECT * FRO ...

  7. SQL修改表结构之添加主键,添加IDENTITY属性

    设计一张表时没有考虑到主键Id及自增长,现又需要,原脚本: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[F ...

  8. Oracle自增主键的添加[sequence]--表数据已存在

    --增加主键ID ); --设置sequence使ID自增 create sequence SEQ_ID minvalue maxvalue start ; --将id的值设置为sequence Up ...

  9. 分库分表之后,id 主键如何处理?

    其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持.所以这都是你实际生产环境中必须考虑的 ...

随机推荐

  1. Actix-web Rust连接Postgres数据库

    Actix-web Rust连接Postgres数据库 ​ Rust1.39支持了异步async,await,Actix-web在2.0.0-alpha支持了原生异步写法,所以本文中使用的Actix- ...

  2. Mac安装Mysql-python遇到的坑,被这俩报错反复摩擦:'my_config.h' file not found 和 IndexError: string index out of range

    最后Stackoverflow上面的大神解决了问题: Link brew install mysql brew unlink mysql brew install mysql-connector-c ...

  3. Linux服务器上搭建codis集群之——安装前环境准备

    codis是redis的分布式集群模式,由豌豆荚开源,本文简单记录一下它的集群搭建方法. 首先介绍一下我的实验环境.三台配置相同的虚拟机, [root@test ~]# ip a|grep -w &q ...

  4. pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》

    论文  < Convolutional Neural Networks for Sentence Classification>通过CNN实现了文本分类. 论文地址: 666666 模型图 ...

  5. Angular RxJs:针对异步数据流编程工具

    一. RxJs:针对异步数据流编程工具 1. 创建subject类对象(发送方) 2. subject.subscribe(观察者); (注册观察者对象observer,可以注册多个相当于回调函数取数 ...

  6. 接入谷歌广告错误(主要Adsense)

    接入谷歌广告 1. 谷歌初始化完会有透明占位,记得隐藏防止下方游戏无法点击 2. 测试的广告域名似乎需要https和www才能播放adsense视频广告 3. 谷歌广告1009错误,广告id或者账号i ...

  7. 论文翻译:Speech Enhancement Based on the General Transfer Function GSC and Postfiltering

    论文地址:基于通用传递函数GSC和后置滤波的语音增强 博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/12232341.html 摘要 在语音增强应 ...

  8. U盘制作macOS Sierra的启动盘

    1.macOS Sierra的几种安装方式 *开机时按住command+option+r 进行联网在线安装.PS:在网速好的情况还行,但是如果网络差的时候,它会让你崩溃的. *使用光盘进行安装. *今 ...

  9. Win10的Python3.8升级与安装

    一.前言 1.说明 博主电脑Python3.6用了有3年多了,正好疫情期间有时间,给更新到3.8版本,边安装边记录下安装流程,希望对读者有帮助 2.系统环境 联想电脑,系统Win10,上一个Pytho ...

  10. 使用QT显示OpenCV读取的图片

    目录 1. 概述 2. 实现 2.1. 代码 2.2. 解析 3. 结果 1. 概述 OpenCV自带了一部分常用的GUI功能,但是更多的图像处理功能需要其他GUI框架来辅助实现,这里通过QT来显示O ...