Maison >développement back-end >tutoriel php >Utilisation de l'UUID pour implémenter des opérations de table de données dans le framework PHP Laravel
Cet article présente principalement l'utilisation de l'UUID pour implémenter des opérations sur les tables de données dans le framework PHP Laravel. Il analyse en détail les étapes de fonctionnement pertinentes, les compétences d'implémentation et les précautions d'utilisation du framework Laravel basé sur l'UUID pour le partitionnement des tables de données sur la base d'exemples. .Il est obligatoire que les amis puissent se référer à
Cet article décrit un exemple d'utilisation de l'UUID pour implémenter des opérations sur les tables de données dans le framework PHP Laravel. Partagez-le avec tout le monde pour votre référence, comme suit :
UUID
L'UUID fait référence à un numéro généré sur une machine, qui garantit toutes les machines en même temps et dans l'espace sont uniques.
Pour faire simple, il s'agit d'une information d'identification unique générée via une règle (telle que : numéro d'identification de l'entreprise + année, mois, jour + format numérique auto-croissant du jour). Utilisé pour associer certaines de nos données et informations.
Exemple
Je l'ai utilisé lors de la réalisation d'un projet auparavant, maintenant je vais utiliser le framework Laravel pour écrire une démo simple
Formulaire frontal
<!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>
Créer une base de données et une table de données (créer seulement 1 table d'index et 8 sous-tables pour stocker des informations détaillées)
Principe : Grâce aux caractéristiques uniques de l'UUID, les informations détaillées d'une donnée sont stockées dans d'autres tables. Cela signifie qu'elles sont attribuées de manière aléatoire par l'UUID. Seuls l'UUID et les champs clés sont stockés dans la table d'index
<.>表前缀统一前缀-------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_7Soumettre les données à la base de données via le routage et les contrôleurs
Routage :
//form表单页面路由 Route::get('Mysql',function(){ return view('home/Mysql'); }); //数据插入提交路由 Route::post('/addMysql','findMoreController@addMysql');
Contrôleur :
//向数据库插入数据 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 : Le $uid ci-dessus est celui auquel l'UUID est obtenu. Le numéro représentatif de la table. inséré dans la table d'informations détaillées Par exemple : $uid=3 Insérez ensuite les informations détaillées dans user_3 et interrogez après une insertion réussie. Interrogez d'abord l'UUID via uname. les informations détaillées sont stockées via l'UUID. Ensuite, interrogez
Routage :
//查询页面 Route::get('findMysql',function(){ return view('home/findMysql'); }); //查询路由 Route::post('/findMysql','findMoreController@findMysql');
Contrôleur. :
//查询 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'); } }
Affichage frontal
<!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>À ce stade, un exemple simple d'utilisation de tables UUID pour traiter les données est terminé. Recommandations associées :
Comment utiliser Redis avec le framework Laravel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!