*

FuelPHPのViewModelで表示用データを加工

公開日: : FuelPHP

スクリーンショット 2012-11-17 21.54.45
元のテーブルにはIDを持たせておいて、そのIDをもとに違うテーブルからデータを持ってくるという、よく見る話です。


そこでORM パッケージだろ!というツッコミは聞こえないふりをして今回は進めてみました。
はじめに試したのは FuelPHP入門にある方法。ViewMode ファイル内で

private $d_type = array( 0 => '朝夕', 1 => '朝のみ', 2 => '夕のみ' );
public function View()
{
$query = ...
array_walk( $query, array( $this, "_presentional"));
....
}
private function _presentional(&$data)
{
$data->set( 'dinner'=>$this->d_type[$data->dinner]) );

ところが、どこか勘違いしているらしくエラーで動かない(T_T)non object
仕方ないので同書籍で紹介されている別の方法で解決。

... function($val) use ($d_type)
{
return $d_type($val);
};

ここでは配列から置き換えています。これをDBから持ってくる方式を試してみました。

$plans = new Model_Child();
$this->childc = $plans->get($this->pid);

データの入ったDBモデルを作ってもとのDBのID($this->pid)をもとに検索。結果をVIEWでファイルに送ってVIEWで側で foreach します。すんなり成功。
繰り返しますがリレーショナルだろ っていうツッコミはご容赦ください。


Sponsored Link


 
 

関連記事

no image

恋に落ちるブログを作ってみる2

動画は近所のりんご園^^; 前回のmodelに続き今回はviewにつていまとめ。 ファイルの保

記事を読む

ブラシレスジンバルのバランス調整を少しでも楽にする

イマイチなROLLに調整しまくりネジ頭がやばい雰囲気になってしまいました。この際なので、前から考えて

記事を読む

4K動画を快適に編集するための自作PCパーツリスト

コメントを専用ページで投稿順に表示するにはPHPでテンプレートを作るしか方法が無さそうです。時間のあ

記事を読む

アルカスイス互換な Smallrig 1445とDesmondのDS-1プレート

実はebayあたりで極小のプレートを注文してあったりします。しかもなぜか3個^^; しかし未だひとつ

記事を読む

やっと来た DOF F2-BP V Mount Battery Adapter Plate

ebayで注文を入れたのが11日。そしたら発送したよとメールが来たのが20日の夕方。そして届いたのは

記事を読む

ご質問は掲示板へお願いいたします。

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKにジンバルを入れる

やっぱり高いけどEndurance (エンデュランス) カメラバッグの

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKが北の国から

一年中GWの美少女です。 Lowepro カメラリュック フリッ

MOZA Mini-S スマホ用スタビライザーが届いた!

1万円弱で買えるスマホ用ブラシレスジンバルの新型 MOZA Mini-

GoPro Hero7 Black用 保護ケース アルミ合金保護フレームがいいよって話

別に大した話ではありません。 最近書くことが少ないのでたまには書

期待の新製品 MOZA Mini-S スマホ用スタビライザーが発売されたみたい

教えてもらった新製品のホームページで MOZA Mini-Sが紹介され

→もっと見る




  •  

This website stores cookies on your computer. These cookies are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to to opt-out of any future tracking, a cookie will be setup in your browser to remember this choice for one year.

Accept or Deny

PAGE TOP ↑