のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,836人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】Yii Framework

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 : nobodyさん - 2012/01/05(木) 15:50:42.39 ID:??? (-1,-29,-32)
    下手に自動過ぎると使いづらいから、Yiiのattributesは使いやすくて好きだけどね。
    452 : nobodyさん - 2012/01/05(木) 15:57:33.66 ID:??? (-1,-29,-51)
    CakePHPだとModel::saveAll()でできたりするんですけど
    自分も自動よりYiiのWikiに載ってる感じで、分けて保存するほうが扱いやすいですね
    453 : nobodyさん - 2012/01/05(木) 18:50:18.06 ID:??? (+3,-30,-208)
    都道府県テーブルにPK:1~48(北海道~沖縄・その他含む)まで入っていて、

    <select name="Post[prefecture_id]">
     <option value="" selected="">地域名</option>
     <optgroup label="北海道">
      <option value="北海道">北海道</option>
     </optgroup>
     <optgroup label="東北">
      <option value="青森県">青森県</option>
      <option value="青森県">岩手県</option>
      <option value="青森県">宮城県</option>
                     :
                     :

    ↑こういうdropDownListを返すにはどうしたらいい?

    <?php echo $form->dropDownList($model,'prefecture_id',
              CHtml::listData(Prefecture::model()->findAll(), 'id', 'name')); ?>

    <optgroup>が無い単純なdropDownListなら上記でいけるんだけど、
    これが入ることでどう実装していいか悩んでる
    454 : nobodyさん - 2012/01/06(金) 00:10:08.19 ID:??? (+3,-24,-7)
    俺もそれ知りたい
    グループ毎にoptionタグをfor文とかで作るしか思いつかない
    455 : nobodyさん - 2012/01/06(金) 00:38:14.96 ID:??? (+53,+25,+0)
    456 : nobodyさん - 2012/01/06(金) 01:52:04.52 ID:??? (+0,+0,+0)
    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'=>'その他'),
    );
    457 : nobodyさん - 2012/01/06(金) 01:53:00.12 ID:??? (+3,-30,-281)
      
       $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;
      }
    458 : nobodyさん - 2012/01/06(金) 01:56:14.41 ID:??? (+0,-30,-122)
    Prefectureという都道府県テーブル(id,name)がある前提で、モデルに>>456-457を記述

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

    一応これでおkだったが、
    リファクタリングしてないし、Yii初心者なので設計にも問題あるかもしれん
    459 : nobodyさん - 2012/01/06(金) 14:46:56.13 ID:??? (+51,+23,-6)
    日本語のフォーラムって存在しないのですか?
    460 : nobodyさん - 2012/01/06(金) 15:04:54.05 ID:??? (+38,+20,+0)
    ここ
    461 : nobodyさん - 2012/01/06(金) 15:07:41.93 ID:??? (+47,+29,+0)
    ここは無理です
    462 : nobodyさん - 2012/01/06(金) 15:10:50.22 ID:??? (+50,+22,-12)
    Yiiオフィシャルの日本のフォーラムです
    http://www.yiiframework.com/forum/index.php?/forum/21-japanese/
    463 : nobodyさん - 2012/01/06(金) 15:14:12.79 ID:??? (+57,+29,-33)
    あーでも今現在Yiiのサイト、アクセスしにくいみたいですので、あしからず。
    464 : nobodyさん - 2012/01/06(金) 17:14:37.32 ID:??? (+22,+29,-18)
    オフィシャルフォーラムは使い難いのでここを使って下さいまんこ
    465 : nobodyさん - 2012/01/06(金) 17:30:59.01 ID:??? (+47,+29,+0)
    ここはいやです
    466 : nobodyさん - 2012/01/06(金) 17:37:17.77 ID:??? (+57,+29,-4)
    ここが嫌なのにここで質問してんじゃないよ
    467 : nobodyさん - 2012/01/06(金) 19:09:20.76 ID:??? (+57,+29,-28)
    メンテってまだ終わってないのかな?まだアクセスできない。日本語ドキュメントのミラーサイトって何処かないかな?
    468 : nobodyさん - 2012/01/06(金) 22:49:00.48 ID:??? (+53,+25,-46)
    メンテ結構頻繁にあるな
    ローカルにリファレンス落としといた方がいいな
    469 : nobodyさん - 2012/01/07(土) 11:11:31.49 ID:??? (+57,+29,-79)
    リファレンスってアーカイブに入ってますよね?
    でもWEBのみたいにインクリメンタルサーチできるリファレンスだと良いんですけど
    無いですね
    470 : nobodyさん - 2012/01/07(土) 11:56:36.06 ID:??? (+89,+29,-47)
    やべえYii楽しいわ
    CakePHPより思想が洗練されてる
    初めてRails触ったときの楽しさ
    471 : nobodyさん - 2012/01/07(土) 16:30:58.27 ID:??? (+12,-15,-6)
    coffeescriptは正式に対応しないのかな
    触ったこと無いから詳しくないけど、流行りらしいじゃん?
    472 : nobodyさん - 2012/01/07(土) 18:22:52.36 ID:??? (+64,+29,+1)
    >>470
    仲間が増えて嬉しい。
    473 : nobodyさん - 2012/01/08(日) 00:51:56.66 ID:??? (+57,+29,-14)
    うん、うん
    なんか楽しいよね!
    ソースを眺めて回るのも、背中の数字が上がって良い感じ
    474 : nobodyさん - 2012/01/08(日) 14:31:22.46 ID:??? (+0,+29,-53)
    >>458
    ってかよく都道府県ってテーブルに入れてるけど、
    別に内容変わらないし、データも少ないからDBに入れておく必要なくね?
    都道府県データの配列持ったモデル作ったらよくね?
    475 : nobodyさん - 2012/01/08(日) 16:48:37.12 ID:??? (+66,+29,-2)
    それじゃ大阪府が大阪都になったとき対応できない
    476 : nobodyさん - 2012/01/08(日) 17:15:03.74 ID:??? (+57,+29,-16)
    あー、そういえばタイムリーにそういう話題もありますね。
    477 : nobodyさん - 2012/01/08(日) 17:35:37.67 ID:??? (+16,-20,+0)
    >>475
    配列の値変えるだけじゃん
    478 : nobodyさん - 2012/01/08(日) 17:44:44.48 ID:??? (+0,-28,-21)
    CMSでユーザに変更されること想定かな?
    479 : nobodyさん - 2012/01/08(日) 17:57:53.68 ID:??? (+54,+26,-52)
    俺も都道府県は配列で持ってるな
    DBに保存するメリットは、保守を全部クライアント任せにするようなケースで簡単に変更出来るってところか
    480 : nobodyさん - 2012/01/08(日) 18:59:21.55 ID:??? (+31,-29,-26)
    そもそも都道府県をグループ別にして
    CHtml::activeDropDownList()件は解決したんでしょうか?
    自分も知りたいところではあるんですが
    481 : nobodyさん - 2012/01/08(日) 19:20:16.77 ID:??? (+29,-29,-45)
    以下はCController::renderPartial()の第3,4引数を使った何かを説明していると思うんですが
    どういうことを説明しているか、わかる方おられますか?
    http://www.yiiframework.com/doc/api/1.1/CController#c2596
    482 : nobodyさん - 2012/01/08(日) 19:26:27.57 ID:??? (+0,+29,-3)
    >>480
    >>456-458見てあげろよ可哀想だろ
    483 : nobodyさん - 2012/01/08(日) 20:16:26.33 ID:??? (+0,-29,-3)
    >>456-458
    九州地方は46までで、47のみその他に修正して、完全に動作しました。ありがとうございます


    484 : nobodyさん - 2012/01/08(日) 20:42:11.41 ID:??? (-6,-29,-1)
    nice tips !
    485 : nobodyさん - 2012/01/09(月) 00:01:41.81 ID:??? (+3,-30,-163)
    あらかじめgroupカラムも作っておくと無駄なコード書かなくてもいいですよね?
    モデルのgetPrefOptions()でreturn CHtml::listData(Pref::model()->findAll(), 'id', 'name', 'group');して
    ビューで<?php echo CHtml::activeDropDownList($model, 'pref_id', $model->prefOptions); ?>みたいな
    モデルのrules()はrequiredとarray('pref_id', 'in', 'range'=>range(1, 47)),でOKかな?
    486 : nobodyさん - 2012/01/09(月) 13:41:34.32 ID:??? (+62,+29,-44)
    今までずっと都道府県テーブルつくってたけど、
    よく考えたら必要じゃないよな。
    これに限らず、データがほぼ固定のものってプログラムの中で持てばいいんじゃ、、、?
    わざわざDBで持つと、処理が重くなるだけだし
    487 : nobodyさん - 2012/01/09(月) 14:49:29.31 ID:??? (+125,+29,-19)
    この記事参考になりますよ。一番したの発言者の情報。その通りだと思いました。
    http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1404&forum=3
    488 : nobodyさん - 2012/01/09(月) 14:50:35.66 ID:??? (+57,+29,-3)
    日本ユーザー会ってあったのね。知らなかった。。
    489 : nobodyさん - 2012/01/09(月) 14:56:09.49 ID:??? (+57,+29,-27)
    マニュアル翻訳してくれてる人たちかな?
    まじ助かってるわ
    あの成果物がなければ俺がYiiを使うこともなかった
    490 : nobodyさん - 2012/01/09(月) 14:57:48.85 ID:??? (+74,+29,-22)
    >>487
    海外や世界のYiiユーザーの考えを知りたいんだけど、
    どういう英語で検索したらいいんだろ
    491 : nobodyさん - 2012/01/09(月) 15:14:59.76 ID:??? (+38,-29,-12)
    >>490
    yii, state, city, area
    492 : nobodyさん - 2012/01/09(月) 15:51:19.81 ID:??? (+90,+28,+0)
    >>491
    やる気出せ
    493 : nobodyさん - 2012/01/09(月) 16:22:04.10 ID:??? (+69,+29,+0)
    >>492
    これ以上英語の能力がありません
    494 : nobodyさん - 2012/01/09(月) 19:16:12.89 ID:??? (+142,+28,-26)
    >>487
    そのレベルで最適化が必要になるならすでにPHPの適用範囲じゃないと思う。
    495 : nobodyさん - 2012/01/09(月) 19:59:48.34 ID:??? (+104,+28,-36)
    >>494
    どういう意味だ?
    Webアプリのボトルネックは大抵DBへのアクセスだから、
    そのアクセスを減らす意味でかなり有用だと思うjけど
    496 : nobodyさん - 2012/01/09(月) 21:51:40.82 ID:??? (+104,+29,-51)
    >>495
    そんなことしてPHPに定数持たせるくらいなら、JAVA辺りで組んだサービスで
    起動時にデータベースから読んだ値をオンメモリで格納しておく方が
    理にかなってるってこと。
    497 : nobodyさん - 2012/01/09(月) 21:59:39.65 ID:??? (+103,+27,-40)
    >>496
    違う違う
    スケールアウトの問題だよ
    RDBMSはスケールアウトしにくいだろ
    JAVAとPHPの比較するような事柄じゃない
    498 : nobodyさん - 2012/01/09(月) 22:00:08.28 ID:??? (+71,+29,-4)
    >>497
    何も違わない。
    書いてある意味わからんなら無理するな。
    499 : nobodyさん - 2012/01/09(月) 22:03:31.07 ID:??? (+98,+30,-44)
    返答はや

    え、トンチンカンなこと言ってるのかな
    逆にJAVAを引き合いに出した先の話がオンメモリに格納とか、JAVA関係ねえじゃんって感じたんだが
    知識あると自負しておられるようなので、出来ればご高説承りたいですね
    500 : nobodyさん - 2012/01/09(月) 22:10:38.39 ID:??? (+108,+28,-67)
    >>499
    だからJAVA辺りでって書いてあるじゃん。
    PHPでやるならmemcachedなんかを使うほうが理にかなってる。
    データベースにあるべきと設計した項目をパフォーマンスを理由にコードに
    埋め込むなんてのは最悪の下策。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について