トップページ⇒php
981コメント269KB

【PHP】Yii Framework

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/12/10(金) 00:41:11ID:???
PHP5 用 Framework Yii (イー) Framework スレ

公式
http://www.yiiframework.com/

チュートリアル
ttp://www.yiiframework.com/doc/guide/

公式フォーラム
ttp://www.yiiframework.com/forum/index.php?/forum/21-japanese/
0456nobodyさん2012/01/06(金) 01:52:04.52ID:???
public function getOptions()
{
$groupLists=array(
array('id'=>'1', 'name'=>'北海道地方'),
array('id'=>'2,3,4,5,6,7', 'name'=>'東北地方'),
array('id'=>'8,9,10,11,12,13,14', 'name'=>'関東地方'),
array('id'=>'15,16,17,18,19,20,21,22,23', 'name'=>'中部地方'),
array('id'=>'24,25,26,27,28,29,30', 'name'=>'近畿地方'),
array('id'=>'31,32,33,34,35', 'name'=>'中国地方'),
array('id'=>'36,37,38,39', 'name'=>'四国地方'),
array('id'=>'40,41,42,43,44,45,46,47', 'name'=>'九州地方'),
array('id'=>'48', 'name'=>'その他'),
);
0457nobodyさん2012/01/06(金) 01:53:00.12ID:???
  
   $prefs=$this->findAll();
   $options=array();
   foreach ($prefs as $pref)
   {
    $group='';
    foreach ($groupLists as $groupList)
    {
     $groupIds=explode(',', $groupList['id']);
     foreach ($groupIds as $groupId) {
      if ($groupId == $pref['id']) {
       $group=$groupList['name'];
      }
     }
    }
    $options[]=array(
     'id'=>$pref['id'],
     'name'=>$pref['name'],
     'group'=>$group,
    );
    
   }
   return $options;
  }
0458nobodyさん2012/01/06(金) 01:56:14.41ID:???
Prefectureという都道府県テーブル(id,name)がある前提で、モデルに>>456-457を記述

ビューで
<?php echo $form->dropDownList($model,'prefecture_id',
         CHtml::listData(Prefecture::model()->getOptions(), 'id', 'name', 'group')); ?>
のようにしてgetする

一応これでおkだったが、
リファクタリングしてないし、Yii初心者なので設計にも問題あるかもしれん
■ このスレッドは過去ログ倉庫に格納されています