ホームページ  >  記事  >  バックエンド開発  >  UUIDを使用してPHPフレームワークLaravelでデータテーブル操作を実装する

UUIDを使用してPHPフレームワークLaravelでデータテーブル操作を実装する

不言
不言オリジナル
2018-05-31 15:56:241821ブラウズ

この記事では、主に、PHP フレームワーク Laravel での UUID の使用を紹介し、UUID に基づいて、関連する操作手順、実装スキル、および操作上の注意事項を例の形式で分析します。以下を参照してください

この記事の例では、PHP フレームワーク Laravel でデータ テーブル操作を実装するための UUID の使用について説明します。参考までに皆さんと共有してください。詳細は次のとおりです。

UUID

UUID は、マシン上で生成される番号を指し、同じ時間と空間にあるすべてのマシンに対して一意であることが保証されています。

簡単に言うと、ルールによって生成される固有の識別情報です(例: 事業者識別番号 + 年、月、日 + その日の自己増加デジタル形式)。当社のデータと情報の一部を関連付けるために使用されます。

以前プロジェクトに取り組んでいたときにこれを使用しました。今はLaravelフレームワークを使用して簡単なデモを作成します

フロントエンドフォーム

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

データベースとデータテーブルを構築します。 (詳細情報を保存するために、1つのインデックステーブルと8つのサブテーブルのみを作成します)

原則: UUIDの固有の特性により、データの詳細情報データは他のテーブルに保存されます。これは、インデックスがUUIDを通じてランダムに割り当てられることを意味します。 UUID とキー フィールドのみがテーブルに保存されます

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

ルーティングとコントローラーを通じてデータベースにデータを送信します

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;;
  }
}

説明:上記の$uidは、UUIDで取得したテーブルに挿入する詳細情報テーブルの代表番号です

例: $uid=3 次に、詳細情報をuser_3

Queryに挿入します。挿入が成功したら、まずクエリを実行します。 uname を通じて UUID を取得し、その UUID を使用して詳細情報がどのサブテーブルに格納されているかを確認します。次に、クエリ

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-この時点で、UUID テーブルを使用してデータを処理する簡単な例が完成しました。

関連する推奨事項:

Laravel フレームワークで Redis を使用する方法

php での uuid の使用

以上がUUIDを使用してPHPフレームワークLaravelでデータテーブル操作を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。