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

    私的良スレ書庫

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

    元スレ【PHP】フレームワーク CakePHP 11ホール目【v1.3】

    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
    751 : nobodyさん - 2011/05/15(日) 22:23:01.76 ID:??? (+19,+16,-21)
    Cakeの仕様に合わせたオレオレフレームワーク作ってるけど
    746もそういうことかな?
    752 : nobodyさん - 2011/05/16(月) 01:58:31.58 ID:??? (+27,+29,-23)
    自分の用途に過不足なく機能があり
    自分で隅から隅までわかっているライブラリのほうが良いと感じる
    当たり前といえば当たり前の話です
    754 : nobodyさん - 2011/05/16(月) 03:59:25.37 ID:??? (+22,+29,-2)
    じゃ、普段どういう書き方してるの?
    755 : nobodyさん - 2011/05/16(月) 13:05:48.45 ID:Buwzzl2B (+27,+29,-40)
    >>751
    Cake真似てDispacherとかなんやらかんやら複雑に創り上げた黒歴史の俺俺フレームワーク思い出すからやめろ・・・
    756 : nobodyさん - 2011/05/16(月) 13:23:10.09 ID:??? (+22,+29,+0)
    みんなやるんだよ
    757 : nobodyさん - 2011/05/16(月) 16:44:54.09 ID:??? (-19,-30,-76)
    $this->dataで指定配列があるか無いか調べないとエラーになるから
    ifやissetばかりのコードになるんだが、みんなはどうしてる?

    if (isset($this->data['User']['name'])) {
     if ($this->data['User']['name'] <> "") {
      echo $this->data['User']['name'] . 'さん';
     }
    }

    みたいな。画像があるか無いかのチェックならもっと複雑になる。
    俺の書き方が悪いかもしれないけど、良い書き方はないかな?
    ちなみにめんどくさい時は@を付けてる。
    759 : nobodyさん - 2011/05/16(月) 18:47:35.88 ID:??? (+22,+29,-14)
    ごめん、上のじゃダメだわw
    760 : nobodyさん - 2011/05/16(月) 19:26:31.02 ID:??? (+30,+29,-5)
    >>757
    何もしない。そのままエラーで例外発生させて、例外処理に飛ばしてる。
    761 : nobodyさん - 2011/05/16(月) 19:36:18.98 ID:??? (+37,+29,-36)
    >>760
    入力されてるか否かの、この程度の動作でも例外処理に飛ばすの?
    確認画面を出力する時とか困らないか?
    762 : nobodyさん - 2011/05/16(月) 19:48:08.88 ID:??? (+38,+29,-30)
    >>761
    普通にCakeのコードを書けば、データの入力有無に関わらず
    配列の要素だけは最低限存在するんじゃない?
    もしも場合によって要素が無いというケースを作ったのであれば、
    そこは例外にならないようチェックを入れれば良いし。
    764 : nobodyさん - 2011/05/16(月) 23:05:12.61 ID:??? (+27,+29,-14)
    それは単に悪い癖がついてるだけだろ
    まさかいつも直接ビヘイビアのメソッド呼び出してるわけじゃないよな?
    766 : nobodyさん - 2011/05/17(火) 02:09:58.52 ID:??? (+27,+29,-31)
    普通、IDを持って更新するんじゃないか?Cakeに限らないが。
    775 : nobodyさん - 2011/05/17(火) 13:21:09.79 ID:??? (+27,+29,-23)
    あと、0を入れたらどうするの?ってのもあるな。
    名前に0を入れる奴がいないとも限らないぞw
    778 : nobodyさん - 2011/05/17(火) 14:20:22.87 ID:??? (+26,+28,-18)
    いや、Cakeだからヘルパーにするべきだな・・・
    783 : nobodyさん - 2011/05/19(木) 00:00:58.47 ID:??? (-27,-29,-17)
    virtualFieldsを使えば良い。
    1.2とかだったらasで名前指定すればOK、ただしUserの配列の中に入れることはできない
    785 : nobodyさん - 2011/05/19(木) 14:05:27.71 ID:??? (+18,+29,-13)
    >>784
    他モデルの設定が分からんからなんとも言えないけど
    マニュアルは読んでやってみたけどできなかったっつう話?
    786 : nobodyさん - 2011/05/19(木) 14:26:20.70 ID:??? (+11,+25,-2)
    >>784
    自前でjoin書かないと1階層までじゃないんだっけ?
    788 : nobodyさん - 2011/05/19(木) 20:00:43.27 ID:??? (+22,+29,+0)
    さんくすおまえら
    789 : nobodyさん - 2011/05/19(木) 23:51:36.35 ID:??? (-25,-29,-26)
    >>786
    recursiveを使えば取得できるけど、joinされたSQLが発行されるわけではない。
    パフォーマンスを考えれば自前でjoinすべき。
    790 : nobodyさん - 2011/05/20(金) 00:27:57.20 ID:??? (+26,+28,-70)
    joinとかサブクエリちょっと複雑なfind書こうとすると
    とたんにSQL書き始めちゃうみたいになるよね。
    コントローラでSQLって書いちゃ駄目だろとか思う。
    791 : nobodyさん - 2011/05/20(金) 00:29:29.63 ID:??? (+19,+25,-15)
    >>783
    1.3ですけどうまく行きませんでしたよ。
    792 : nobodyさん - 2011/05/20(金) 00:54:14.48 ID:??? (-29,-30,-143)
    フォーム送信された電話番号に全角があったら半角に変更しようと、
    beforeValidateに以下のように書きました。

    function beforeValidate(){
    if (isset($this->data[$this->name]['tel'])) {
    $this->data[$this->name]['tel'] = mb_convert_kana($this->data[$this->name]['tel'], 'rnask', 'UTF-8');
    }
    return ;
    }

    しかし半角に変換されません。何か間違っているのでしょうか?
    ちなみに、コントローラーでバリデーションを実行する前に
    $this->Model->set($this->data);
    こうしてます。
    795 : nobodyさん - 2011/05/20(金) 08:35:02.16 ID:??? (+21,+29,-70)
    >>789
    これって2階層以上になるとjoinしなくなるってわけじゃないよな?
    cakeのモデルの結びつけは全て単に個々のレコードをselectしてるんだよな?
    796 : nobodyさん - 2011/05/20(金) 08:51:23.08 ID:??? (+33,+30,-173)
    っていうか、たとえば、「MySQLにとって最適なクエリはどう書くのか」っていう考えが出来てない奴大杉。
    はじめからORマッピング使うからそうなる。

    フレームワークのDBアダプター使えば全てのDBサーバに最適なクエリが発行できると
    思ってる奴多いけど、最適なクエリはDBサーバによって書き方が異なるのだ。

    って、ねーちゃんが言ってた。
    797 : nobodyさん - 2011/05/20(金) 09:52:43.86 ID:??? (-29,-29,-26)
    >>795
    1階層目まではjoinされる。
    2階層目以降はjoinされない。1階層目のデータをキーに、複数のSQLが実行される。
    798 : nobodyさん - 2011/05/20(金) 10:10:25.55 ID:??? (-27,-30,-300)
    アソシエーションで質問なんですけど、
    FooとBarがそれぞれ3つのHogeを持たせるため、
    Foo、Barそれぞれに hoge_id, hoge1_id, hoge2_id カラムを作成して関連づけました。
    これでHogeをfindで取得した場合、
    Array
    (
      [0] => Array
      (
        [Hoge] => Array(~)
        [Foo] => Array(~)
        [Foo1] => Array(~)
        [Foo2] => Array(~)
        [Bar] => Array(~)
        [Bar1] => Array(~)
        [Bar2] => Array(~)
      )
    )
    こんなふうになるんですが、(foreignKeyごとにエイリアス名を変えています)
    これを
        [Foo] => Array(
          [0] => Array(~)
          [2] => Array(~)
          [1] => Array(~)
        )
    こんな感じに取って来れる方法はないでしょうか?
    もしforeignKeyを分ける以外にいい方法があればそちらも教えて下さい。
    799 : nobodyさん - 2011/05/20(金) 10:37:34.40 ID:??? (-1,+5,+1)
    そういう関数を作る
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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