2016-05-22 6 views
0

私はlaravelの新人です。患者登録フォームの自動インクリメントになる患者IDを作成しようとしています。laravel(P001)の患者の患者IDを生成しようとしていますlaravel

フォームの入力で自動インクリメントが機能しますが、10人の患者に達したときには、代わりに「P0010」と表示されて「P00010」と表示されていると考えられます。 IDの下に患者IDのコードがあります。私が作成したタグの移行からIDを使用しています。 P001-P009ではうまく動作しますが、P0010からは最初のcase文だけを使用し続けます。ありがとう

public function getPatientTag($id) 
{ 
    $tag = "P"; 

    switch(count($id)){ 
     case 1: 
      $tag .= "000".$id; 
      break; 

     case 2: 
      $tag .= "00".$id; 
      break; 

     case 3: 
      $tag .= "0".$id; 
      break; 

    } 

    return $tag; 
} 
+1

は、車輪の再発明しないでください。確かに、指定された数の0に番号を埋め込むことができる文字列書式設定関数があります。 –

答えて

0

str_padを使用してください。このような何かを試してみてください:これは役立ちます

public function getPatientTag($id) 
{ 
    $tag = "P"; 
    return $tag . str_pad($id, 4, '0', STR_PAD_LEFT); 
} 

希望...

+0

ありがとう@Laerte。今働いている! –

+0

これは動作しますか?はいの場合は、正解として受け入れることができますか?ありがとうございました! – Laerte

関連する問題