zoukankan      html  css  js  c++  java
  • sql查询如何将A表数据name字段对应B表name字段得到对应的B表id主键然后添加A到表usel_id中

    1.写这个的原因

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

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

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

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

    2.1.2  users表

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

    3.信息添加功能

     1     public  function  create(Request $request){
     2            $input=$request->except('_token');
     3            $res=\DB::table('users')->select('id')->where(['real_name'=>$input['name']])->get();
     4            if ($res!=null){
     5                foreach ($res as $value){
     6                    $data=\DB::table('car_info')->insert(['name'=>$input['name'],'principal'=>$input['principal'],'user_id'=>$value->id]);
     7                    if($data){
     8                        return redirect('admin/car_info');
     9                    }else{
    10                        return back();
    11                    }
    12                }
    13            }
    14            $name=\DB::table('car_info')->insert(['name'=>$input['name'],'principal'=>$input['principal']]);
    15         if($name){
    16             return redirect('admin/car_info');
    17         }else{
    18             return back();
    19         }
    20     }

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

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

    4. 信息修改功能

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

     1  //修改
     2     public function  update(Request $request){
     3         $input=$request->except('_token');//得到除却token之外的全部信息
     4         $res=\DB::table('users')->select('id')->where(['real_name'=>$input['name']])->get();
     5 
     6         if($res!=null){
     7             foreach ($res as $value){
     8                 $data=\DB::table('car_info')
     9                     ->where(['id'=>$input['id']])->update(['id'=>$input['id'],'name'=>$input['name'],'principal'=>$input['principal'],'user_id'=>$value->id]);
    10 
    11                 if($data){
    12                     return redirect('admin/car_info');
    13                 }else{
    14                     return back();
    15                 }
    16             }
    17         }
    18      $name=\DB::table('car_info')->where(['id'=>$input['id']])->update(['id'=>$input['id'],'name'=>$input['name'],'principal'=>$input['principal'],'user_id'=>null]);
    19         if($name){
    20             return redirect('admin/car_info');
    21         }else{
    22             return back();
    23         }
    24     }

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

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

  • 相关阅读:
    JDK的几种分析工具
    心理价值
    通过Proxool辅助数据库优化
    人生缄言
    grep 用法
    多服务器快速定位
    RandomAccessFile读取远程系统日志
    20101116 视频处理几个常用指令
    Flickr架构
    JAVA正则表达式语法
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/12209303.html
Copyright © 2011-2022 走看看