2017-03-10 8 views
0

PHP Laravelを使用してWebページを作成し、ユーザーログインを作成するプロジェクトがあります。データベースでは、データ型としてvarcharを使用してUserID列を作成し、ユーザーID形式 'USxxxxxxxxxx'にxが数値であり、自動的に増分されます。だから私は番号を部分文字列にする関数を作成し、Intに変更するので、新しいユーザーがWebに登録するときに自動的にインクリメントされます。増分後、数値は文字列に戻って格納されます。PHPでのBIGINTの処理方法Laravel

私の質問はPHP Laravelは10桁の数字(10億)を扱うことができ、PHP Laravelで使用するデータ型は何ですか?

答えて

0

BIGINTにはVARCHARを使用しないでください。インクリメントのためLaravelの移行にbigIncrements()を使用します。

$table->bigIncrements('id'); 

そしてbigInteger()をBIGINTのために:

$table->bigInteger('votes'); 

https://laravel.com/docs/5.4/migrations#columns

+0

しかし、彼はUserIDの最初の2文字はUSだからBIGINTの使い方は? – ImBS

+0

@ImBSは、アプリの米国の部分を追加するかもしれない?アクセサまたは手動で。 –

0

コアPHPロジックあなたはLaravel構文として実装されなければならない

$qry = mysql_query("SELECT * FROM `user` ORDER by `UserID` DESC LIMIT 1"); 
$row = mysql_fetch_array($qry); 

$last_id = $row['UserID']; 
$userid = substr($string, 2); 
$userid = $userid + 1; 
$userid = 'US'.$userid; 

// Now you can Insert 

$insert_qry = mysql_query("INSERT INTO `user` (`UserID`) VALUES ('".$userid."')"); 
+0

LIMIT 1の効果は? –

+0

LIMIT 1とDESCで注文して、最終レコードを1つだけ取得する – ImBS

関連する問題