Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von UUID zur Implementierung von Datentabellenoperationen im PHP-Framework Laravel

Verwendung von UUID zur Implementierung von Datentabellenoperationen im PHP-Framework Laravel

不言
不言Original
2018-05-31 15:56:241878Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung von UUID zur Implementierung von Datentabellenoperationen im PHP-Framework Laravel vor. Er analysiert detailliert die relevanten Betriebsschritte, Implementierungsfähigkeiten und Betriebsvorkehrungen des Laravel-Frameworks basierend auf UUID für die Datentabellenpartitionierung anhand von Beispielen . Es ist erforderlich. Freunde können sich auf

beziehen. Dieser Artikel beschreibt das Beispiel der Verwendung von UUID zum Implementieren von Datentabellenoperationen im PHP-Framework Laravel. Teilen Sie es wie folgt als Referenz mit allen:

UUID

UUID bezieht sich auf eine auf einer Maschine generierte Zahl, die alle Maschinen garantiert gleichzeitig sind Zeit und Raum einzigartig.

Einfach ausgedrückt handelt es sich um eindeutige Identifikationsinformationen, die durch eine Regel generiert werden (z. B. Unternehmensidentifikationsnummer + Jahr, Monat, Tag + sich selbst erhöhendes digitales Format des Tages). Wird verwendet, um einige unserer Daten und Informationen zu verknüpfen.

Beispiel

Ich habe dieses Ding zuvor bei einem Projekt verwendet, jetzt werde ich das Laravel-Framework verwenden, um eine einfache Demo zu schreiben

Frontend-Formular

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

Datenbank und Datentabelle erstellen (nur 1 Indextabelle und 8 Untertabellen erstellen, um detaillierte Informationen zu speichern)

Prinzip: Durch die eindeutigen Eigenschaften der UUID werden die detaillierten Informationen zu den Daten in anderen Tabellen gespeichert. Dies bedeutet, dass sie zufällig durch die UUID zugewiesen werden. In der Indextabelle werden nur UUID- und Schlüsselfelder gespeichert.

表前缀统一前缀-------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_7

Daten über Routing und Controller an die Datenbank senden

Routing:

//form表单页面路由
Route::get(&#39;Mysql&#39;,function(){
  return view(&#39;home/Mysql&#39;);
});
//数据插入提交路由
Route::post(&#39;/addMysql&#39;,&#39;findMoreController@addMysql&#39;);

Controller:

//向数据库插入数据
public function addMysql(Request $request){
  $uuid =md5(uniqid(mt_rand (), true));
  $uid =hexdec(substr($uuid,0,1)) % 8;
  $sex = $request->input(&#39;sex&#39;);
  $age = $request->input(&#39;age&#39;);
  //dd($uuid);
  $uname = $request->input(&#39;uname&#39;);
  $result = DB::table(&#39;index_user&#39;)->insert([&#39;uuid&#39;=>$uuid,&#39;uname&#39;=>$uname]);
  $result1 = DB::table(&#39;user_&#39;.$uid)->insert([&#39;uuid&#39;=>$uuid,&#39;uname&#39;=>$uname,&#39;sex&#39;=>$sex,&#39;age&#39;=>$age]);
  if($result1){
    return &#39;1&#39;;
  }else{
    return &#39;0&#39;;
  }
}

Lösung: Die obige $uid ist die detaillierte Informationstabelle, die über die UUID eingefügt werden soll. Die repräsentative Nummer

Beispiel: $uid=3 Fügen Sie dann die detaillierten Informationen

in user_3 ein und fragen Sie nach erfolgreicher Einfügung zuerst die UUID über uname ab und ermitteln Sie dann über die UUID-Untertabelle Zhang Abfrage

Routing:

//查询页面
Route::get(&#39;findMysql&#39;,function(){
  return view(&#39;home/findMysql&#39;);
});
//查询路由
Route::post(&#39;/findMysql&#39;,&#39;findMoreController@findMysql&#39;);

Controller:

//查询
public function findMysql(Request $request){
    //dd($request);
    $uname=$request->input(&#39;uname&#39;);
    $uuid =DB::table(&#39;index_user&#39;)->where(&#39;uname&#39;,&#39;=&#39;,$uname)->value(&#39;uuid&#39;);
    $uid =hexdec(substr($uuid,0,1)) % 8;
    $userInfos=DB::table(&#39;user_&#39;.$uid)->get();
    if($userInfos){
      return view(&#39;home/selectMysql&#39;,[&#39;userInfos&#39;=>$userInfos]);
    }else{
      return view(&#39;home/findMysql&#39;);
    }
}

Front-End-Anzeige

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

An dieser Stelle ein einfaches Beispiel für die Verwendung Die UUID-Tabelle zur Datenverarbeitung ist abgeschlossen.

Verwandte Empfehlungen:

So verwenden Sie Redis mit dem Laravel-Framework

UUID in PHP verwenden

Das obige ist der detaillierte Inhalt vonVerwendung von UUID zur Implementierung von Datentabellenoperationen im PHP-Framework Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn