Home >Backend Development >PHP Tutorial >Using UUID to implement data table operations in PHP framework Laravel
This article mainly introduces the use of UUID in the PHP framework Laravel to implement data table splitting operations. It analyzes in detail the relevant operation steps, implementation techniques and operating precautions for the Laravel framework to perform data table splitting based on UUID in the form of examples. It is required Friends can refer to the following
This article describes the use of UUID in the PHP framework Laravel to implement data table operations. Share it with everyone for your reference, as follows:
UUID
##UUID refers to a number generated on a machine, which guarantees All machines in the same time and space are unique. To put it simply, it is a unique identification information generated through a rule (such as: business identification number year month day auto-increment digital format). Used to associate some of our data and information.Example
I used this thing when doing a project before, now I will use the Laravel framework to write a simple demoFront-end form<!DOCTYPE html> <html> <head></head> <body> <form action="/addMysql" method="post"> {!!csrf_field()!!} <table> <tr> <th style="colspan:2">注册</th> </tr> <tr> <td>账号</td> <td> <input type="text" name="uname" value="" /> </td> </tr> <tr> <td>密码</td> <td> <input type="password" name="pwd" value="" /> </td> </tr> <tr> <td>性别</td> <td> <input type="radio" name="sex" value="1" />:男 <input type="radio" name="sex" value="0" />:女 </td> </tr> <tr> <td>年龄</td> <td> <input type="text" name="age" value="" /> </td> </tr> <tr> <td style="colspan:2"> <input type="submit" value="提交" /> </td> </tr> </table> </form> </body> </html>Create database and data table (only create 1 index table and 8 sub-tables to store detailed information)Principle: Through the unique characteristics of UUID, the detailed information of a data is stored in other tables. This means that it is randomly assigned by UUID. Only UUID and key fields are stored in the index table
表前缀统一前缀-------mall_ 表 : mall_index_user 索引表 -------uuid,uname 表0: mall_user_0 uuid,uname,sex,age 表1: mall_user_1 表2: mall_user_2 表3: mall_user_3 表4: mall_user_4 表5: mall_user_5 表6: mall_user_6 表7: mall_user_7Submit data to the database through routing and controllers
Routing:
//form表单页面路由 Route::get('Mysql',function(){ return view('home/Mysql'); }); //数据插入提交路由 Route::post('/addMysql','findMoreController@addMysql');
Controller:
//向数据库插入数据 public function addMysql(Request $request){ $uuid =md5(uniqid(mt_rand (), true)); $uid =hexdec(substr($uuid,0,1)) % 8; $sex = $request->input('sex'); $age = $request->input('age'); //dd($uuid); $uname = $request->input('uname'); $result = DB::table('index_user')->insert(['uuid'=>$uuid,'uname'=>$uname]); $result1 = DB::table('user_'.$uid)->insert(['uuid'=>$uuid,'uname'=>$uname,'sex'=>$sex,'age'=>$age]); if($result1){ return '1'; }else{ return '0'; } }Solution: The $uid above is the detailed information table to be inserted into which is obtained through the UUID The representative number For example: $uid=3 Then insert the detailed information into user_3After the insertion is successful, query, first query the UUID through uname, and know where the detailed information is stored through the UUID Zhang sub-table. Then query
Routing:
//查询页面 Route::get('findMysql',function(){ return view('home/findMysql'); }); //查询路由 Route::post('/findMysql','findMoreController@findMysql');
Controller:
//查询 public function findMysql(Request $request){ //dd($request); $uname=$request->input('uname'); $uuid =DB::table('index_user')->where('uname','=',$uname)->value('uuid'); $uid =hexdec(substr($uuid,0,1)) % 8; $userInfos=DB::table('user_'.$uid)->get(); if($userInfos){ return view('home/selectMysql',['userInfos'=>$userInfos]); }else{ return view('home/findMysql'); } }
Front-end display
<!DOCTYPE html> <html> <head></head> <body> <form action="" method="post"> <table> <tr> <th style="colspan:2">遍历</th> </tr> @foreach($userInfos as $userInfo) <tr> <td>性别</td> <td> <input type="text" name="" value="{{$userInfo->sex}}" /> </td> </tr> <tr> <td>年龄</td> <td> <input type="text" name="" value="{{$userInfo->age}}" /> </td> </tr> @endforeach </table> </form> </body> </html>So far, a simple The example of using UUID table to process data is completed. Related recommendations:
How to use Redis in Laravel framework
The above is the detailed content of Using UUID to implement data table operations in PHP framework Laravel. For more information, please follow other related articles on the PHP Chinese website!