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为空!