>백엔드 개발 >PHP 튜토리얼 >UUID를 사용하여 PHP 프레임워크 Laravel에서 데이터 테이블 작업 구현

UUID를 사용하여 PHP 프레임워크 Laravel에서 데이터 테이블 작업 구현

不言
不言원래의
2018-05-31 15:56:241957검색

이 글에서는 주로 PHP 프레임워크 Laravel에서 데이터 테이블 분할 작업을 구현하는 방법을 소개합니다. UUID를 기반으로 하는 Laravel 프레임워크의 관련 작업 단계, 구현 기술 및 작업 주의 사항을 예제 형식으로 자세히 분석합니다. 필요하시면 다음을 참고하시면 됩니다.

이 글의 예에서는 UUID를 사용하여 PHP 프레임워크 Laravel에서 데이터 테이블 작업을 구현하는 방법을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

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에 상세 정보를 삽입합니다

삽입 성공 후 쿼리, 먼저 UUID를 통해 쿼리합니다. 이름을 지정하고 UUID를 사용하여 세부 정보가 어느 하위 테이블에 저장되어 있는지 확인합니다. 그런 다음

쿼리:

//查询页面
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 Show

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

이제 UUID 테이블을 사용하여 데이터를 처리하는 간단한 예제가 완성되었습니다.

관련 권장 사항:

Laravel 프레임워크에서 Redis를 사용하는 방법

php에서 uuid 사용

위 내용은 UUID를 사용하여 PHP 프레임워크 Laravel에서 데이터 테이블 작업 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.