Laravel4 定数を使ってデータベースの値を数字から文字に切り替えてみたったw
前回一覧表示を作成しみたったw
Laravel4でテーブル内のレーコードを一覧表示してみたったw - 魔法使いの卵
せやけど、これ住所と削除フラグが0って表示されてて
使う人はなんのこっちゃかわからへんから、これを日本語にかえるでー!!
まず、そしたら下記の定数ファイルを用意するでー!!
app/config/usersdata.php
なんか命名にセンスかんじられへんw
いろいろな定数を用途に合わせて使い分けるなら
みたいにしたほうが綺麗かも。
まだ試してないけどw
じゃあ、そのusersdata.phpを編集していくでー!!
<?php
return array(
'ZIP' => array( 0 => "北海道",
1 => "青森県",
2 => "岩手県",
3 => "宮城県",
4 => "秋田県",
5 => "山形県",
6 => "福島県",
7 => "茨城県",
8 => "栃木県",
9 => "群馬県",
10 => "埼玉県",
11 => "千葉県",
12 => "東京都",
13 => "神奈川県",
14 => "新潟県",
15 => "富山県",
16 => "石川県",
17 => "福井県",
18 => "山梨県",
19 => "長野県",
20 => "岐阜県",
21 => "静岡県",
22 => "愛知県",
23 => "三重県",
24 => "滋賀県",
25 => "京都府",
26 => "大阪府",
27 => "兵庫県",
28 => "奈良県",
29 => "和歌山県",
30 => "鳥取県",
31 => "島根県",
32 => "岡山県",
33 => "広島県",
34 => "山口県",
35 => "徳島県",
36 => "香川県",
37 => "愛媛県",
38 => "高知県",
39 => "福岡県",
40 => "佐賀県",
41 => "長崎県",
42 => "熊本県",
43 => "大分県",
44 => "宮崎県",
45 => "鹿児島県",
46 => "沖縄県" ),
'DELETE' => array( 0 => "削除",
1 => "削除済み"),
);
やってることは配列でデータを持たせてるだけやでー!!
よっしゃ、そしたらさっそくこの定数ファイルusersdata.phpのZIPとDELETEを
使って数字から文字にかえていくでー!!
詳細は下記
まず、書き換える内容として定数ファイルの値を受け取るために
コントローラーを編集するでー!!
コントローラ
下記コントローラーを編集
app/controller/BackController.php
前回作成したuserlistのアクションに下記の赤太字を追加
public function userlist()
{
$userlist = User::orderBy('id','desc')->get();
$ZIP = Config::get('usersdata.ZIP');
$DELETE = Config::get('usersdata.DELETE');
return View::make('userlist')->with('userlist', $userlist)
->with('ZIP', $ZIP)
->with('DELETE', $DELETE);
}
やってることは変数に
Config::get('定数ファイル名.配列名');
を入れてあげてるってことやでー!!
次はビューを編集するでー!!
ビュー
app/views/userlist.blade.php
の中を書き換えていくでー
前回までは下記の記述をしてた。
<td>{{ $user->zip }}</td>
<td>{{ $user->delete_flag }}</td>
配列の中に配列をネストした形でコントローラーでレコードを受け取った。
それを変数にぶっこんでviewに渡してforechでネストされた配列からキーを
指定することで各レコードごとのカラムの値を表示させることができた。
今回はそれをさらに定数ファイルに書いた定数の配列を使って
カラムの数字をキーに定数ファイルの配列から文字を表示させるってことをするために
下記の記述にかきかえるでー!!
<td>{{ $ZIP[$user->zip] }}</td>
<td>{{ $DELETE[$user->delete_flag] }}</td>
これがどういうことかというとやで
$ZIP(定数ファイルの指定された配列)[レコード値をキー]
にして配列の値を表示させてるってことをやってるねん。
ほなこれでブラウザで確認するとzip 0 delete_flag 0
って表示されてたところがそれぞれ「北海道」と「削除」に変わってるはずやで!!
感想:
配列を使い熟すことができたらPHPってすごい便利になるんじゃないのか?
って書いてておもった。配列をネストするっていうのがむずかしいなぁっておもう。
そのへんで脳みそのスペックっていうかイメージ力がないなぁってw
本当は定数をコントローラーを通さずにビューに渡す方が
スマートらしいねんけど、へっぽこすぎてうまいこといかんかったから
コントローラーを通して変数としてビュー側に渡すことでビュー自体を
シンプルに保てるようにやってみた!!
おまけw
あとは公式のドキュメントが何書いてるのか少しずつわかってきた。
最初のほうは一回誰かのフィルター通してからじゃないとわけわからんかったw
参考元: