私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】フレームワーク CakePHP 11ホール目【v1.3】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
iモードシミュレータIIで携帯フォームの動作確認をしているのですが、
モード7の時はSJISで送信され、モード8の時はUTF-8で送信されます。
Cakeでは、ビューをUTF-8で作り、出力時の文字コードは
<?php echo $html->charset('SJIS'); ?>
と言う感じでShift_JISにしています。
ただ、$form->createのencodign(accept-charset)はutf8のままなので、
UTF-8としてデータが送信されてくると思うのですが・・・原因が分かりません。
古い端末だと文字コード変換が上手く行かないとかあるのでしょうか?
直接Cakeの質問と違うかも知れませんが、分かる方いたら教えて下さい
モード7の時はSJISで送信され、モード8の時はUTF-8で送信されます。
Cakeでは、ビューをUTF-8で作り、出力時の文字コードは
<?php echo $html->charset('SJIS'); ?>
と言う感じでShift_JISにしています。
ただ、$form->createのencodign(accept-charset)はutf8のままなので、
UTF-8としてデータが送信されてくると思うのですが・・・原因が分かりません。
古い端末だと文字コード変換が上手く行かないとかあるのでしょうか?
直接Cakeの質問と違うかも知れませんが、分かる方いたら教えて下さい
CakePHPの1.3でDBの更新処理をSQLで直書きしなくてはならなくなったのですが、
普通のINSERT文をModel::execute()で実行しようとするとシンタックスエラーに
なってしまいます。
でもちゃんと正しいINSERT文なんです。
ちなみにModel::query()で実行すると正しく実行されます。
Model::execute()って何か問題があるのでしょうか?
普通のINSERT文をModel::execute()で実行しようとするとシンタックスエラーに
なってしまいます。
でもちゃんと正しいINSERT文なんです。
ちなみにModel::query()で実行すると正しく実行されます。
Model::execute()って何か問題があるのでしょうか?
モデルとビヘイビアに同じ名前の関数がある場合、$this->関数名で呼ぶとモデルの方が呼ばれるようですが、
ビヘイビアの方を呼びたい場合はどう書けば良いのでしょうか
ビヘイビアの方を呼びたい場合はどう書けば良いのでしょうか
ありがとう
そういうことをちゃんとマニュアルに書いておいてくれればいいのにと思います
そういうことをちゃんとマニュアルに書いておいてくれればいいのにと思います
マニュアルに書くレベルのものとそうではないものもあると思うけどね。
マニュアルにない使い方するときは、ソースコード追ったほうがいいよ。
マニュアルにない使い方するときは、ソースコード追ったほうがいいよ。
hasMeny や belongsTo で指定のテーブルだけ取得することは可能でしょうか?
下の例では Data に Category を belongsTo して、
Category は Auther を belongsTo、Data を hasMany してます。
$this->Data->find('first', array(
'conditions' => array('Data.id' => $data_id),
'recursive' => 2
));
Array(
[Data] => Array(
[fields] => 'value',
[Category] => Array(
[fields] => 'value',
[Auther] => Array(
[fields] => 'value'
)
[Data] => Array(
[fields] => 'value'
)
)
)
)
これで find すると data['Data']['Category'] 以下にもう一度 Data を取得してしまいます。
data['Data']['Category']['Auther'] は欲しいので、アソシエーションを利用してData を読まずに Auther だけ取ってくる方法はありますか?
下の例では Data に Category を belongsTo して、
Category は Auther を belongsTo、Data を hasMany してます。
$this->Data->find('first', array(
'conditions' => array('Data.id' => $data_id),
'recursive' => 2
));
Array(
[Data] => Array(
[fields] => 'value',
[Category] => Array(
[fields] => 'value',
[Auther] => Array(
[fields] => 'value'
)
[Data] => Array(
[fields] => 'value'
)
)
)
)
これで find すると data['Data']['Category'] 以下にもう一度 Data を取得してしまいます。
data['Data']['Category']['Auther'] は欲しいので、アソシエーションを利用してData を読まずに Auther だけ取ってくる方法はありますか?
>>660
containerビヘイビアを使いなさい
containerビヘイビアを使いなさい
ログイン管理って要はセッション管理なわけだし、
Auth使うよりも自作(か、セションコンポーネント)使う方がいいんじゃね?
なんかAuthの使い勝手が良いんだか悪いんだか分からなくなる時がある。
Auth使うよりも自作(か、セションコンポーネント)使う方がいいんじゃね?
なんかAuthの使い勝手が良いんだか悪いんだか分からなくなる時がある。
うちもセッション管理は自前で持ってる。
ユーザー区分が3つあって、見せていい画面が決まっていて、その遷移もphp上で実装した。
ユーザー区分が3つあって、見せていい画面が決まっていて、その遷移もphp上で実装した。
Authに限らずセッション周りは色々挙動が謎すぎて、全部自前で作って使ってる
まあタダだしそのくらいはしょーがないよね
まあタダだしそのくらいはしょーがないよね
やっぱり、みんなセッション管理は自前だったかw
俺はなんとかCaleの機能で出来ないかと悪戦苦闘していたが、
やりづらいこともあるよな。こだわりすぎはよくないな
俺はなんとかCaleの機能で出来ないかと悪戦苦闘していたが、
やりづらいこともあるよな。こだわりすぎはよくないな
Cake自体が完成されたFWじゃないからな
しかし使えないほど駄目でもないのが悩み所
しかし使えないほど駄目でもないのが悩み所
Cakeはmod_rewriteに依存しすぎてるの駄目なんだよな。
テスト環境で他のアプリと相乗りさせようとしたらハマりまくった。
テスト環境で他のアプリと相乗りさせようとしたらハマりまくった。
それはあるな。サイトの規模が大きくなるほど、ファイル構造がややこしくなるし。
ちょうど上にAuthの話題があるので、質問します。
ログイン→リダイレクト→ログイン後のページ
に移動するのがAuthの機能だと思いますが、
ログイン成功時に、ユーザ情報以外のセッションを付加して
ログイン後のページに推移させるにはどうすればいいのでしょうか?
ログイン→リダイレクト→ログイン後のページ
に移動するのがAuthの機能だと思いますが、
ログイン成功時に、ユーザ情報以外のセッションを付加して
ログイン後のページに推移させるにはどうすればいいのでしょうか?
if (empty($this->data)) {
$this->Session->setFlash('登録画面からやりなおしてください');
$this->redirect('/xxxx/error');
}
}
$this->Session->setFlash('登録画面からやりなおしてください');
$this->redirect('/xxxx/error');
}
}
すみません、完了画面でもバリデーションはやってるので
$this->dataの値はチェックしてました。
完了画面ではユニークなキーを発行してmemcachedにフォームの値を入れて
確認メールを送信するのですが、
完了画面でブラウザの更新ボタンを押すともう一度
ユニークなキーでmemcachedにフォームの値を入れて
確認メールを送信してしまうのです。
これどうしたらいいかなーと。
$this->dataの値はチェックしてました。
完了画面ではユニークなキーを発行してmemcachedにフォームの値を入れて
確認メールを送信するのですが、
完了画面でブラウザの更新ボタンを押すともう一度
ユニークなキーでmemcachedにフォームの値を入れて
確認メールを送信してしまうのです。
これどうしたらいいかなーと。
サイトで、
hogehoge.com/controller/action/
と
hogehoge.com/abc/controller/action/
を同じアクションにして、かつ
リンクはabcのprefixつきにしたいのですが、良い方法ありますでしょうか?
動きとしてはprefixルーティングで abc_indexを呼ぶのではなくindexを呼ぶようにしたいのです。
dispatchを書き換えていまはうまくいっていますが、スマートでないような気がして、、
hogehoge.com/controller/action/
と
hogehoge.com/abc/controller/action/
を同じアクションにして、かつ
リンクはabcのprefixつきにしたいのですが、良い方法ありますでしょうか?
動きとしてはprefixルーティングで abc_indexを呼ぶのではなくindexを呼ぶようにしたいのです。
dispatchを書き換えていまはうまくいっていますが、スマートでないような気がして、、
2ch のスレッドとメッセージのような t hasMany m の関係で、
スレッドの一覧を取りたいんですけど、メッセージの投稿日時で
スレッドをソートしたいときは、どう書けば良いのでしょうか?
スレッドの一覧を取りたいんですけど、メッセージの投稿日時で
スレッドをソートしたいときは、どう書けば良いのでしょうか?
こんな感じでやってみたのですが、SQL をデバッグで見ると
FROM に message が指定されておらず・・・。
$this->paginate = array(
'contain' => array(
'Message' => array(
'fields' => array('id', 'created')
)
),
FROM に message が指定されておらず・・・。
$this->paginate = array(
'contain' => array(
'Message' => array(
'fields' => array('id', 'created')
)
),
'conditions' => array(
'Thread.delete_flag <>' => 1
),
'limit' => 10,
'order' => array(
'Message.created' => 'desc' // ダメなとこ
)
);
'Thread.delete_flag <>' => 1
),
'limit' => 10,
'order' => array(
'Message.created' => 'desc' // ダメなとこ
)
);
その場合は、Messageモデルのhasmanyの定義にorderを書く。
それが嫌な場合はページネートにjoin句を書く。
$this->paginate = array(
Thread=> array(
'conditions' => array(),
'limit' => 24,
'order' => array(),
'joins' => array(
array(
'type' => 'LEFT',
'alias' => 'Message
'table' => ''messages',
'Message.created' => 'desc'
)
))
);
それが嫌な場合はページネートにjoin句を書く。
$this->paginate = array(
Thread=> array(
'conditions' => array(),
'limit' => 24,
'order' => array(),
'joins' => array(
array(
'type' => 'LEFT',
'alias' => 'Message
'table' => ''messages',
'Message.created' => 'desc'
)
))
);
冷静に SQL でやりたい事を書いていたら、DISTINCT か
GROUP BY を使うことなると今更ながら気づきました。
ただ(MySQL の仕様なのか)意図した形でソートできず、
結局 Thread の modified フィールドを Message の
挿入時に update するのが手っ取り早いのかな・・・と
諦めの段階に入っています。
レス下さった皆様、ありがとうございました。
また、何かあれば宜しくお願いします。
GROUP BY を使うことなると今更ながら気づきました。
ただ(MySQL の仕様なのか)意図した形でソートできず、
結局 Thread の modified フィールドを Message の
挿入時に update するのが手っ取り早いのかな・・・と
諦めの段階に入っています。
レス下さった皆様、ありがとうございました。
また、何かあれば宜しくお願いします。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】フレームワーク CakePHP 10ホール目【v1.3】 (1001) - [98%] - 2011/2/13 8:32
- 【PHP】フレームワーク CakePHP 19ホール目【v3.3】 (844) - [96%] - 2023/2/2 14:30
- 【PHP】フレームワーク CakePHP 9ホール目【v1.3】 (1001) - [96%] - 2010/11/1 2:53
- 【PHP】フレームワーク CakePHP 17ホール目【v2.4】 (984) - [95%] - 2015/1/10 2:45
- 【PHP】フレームワーク CakePHP 14ホール目【v2.1】 (1001) - [95%] - 2012/12/3 19:16
- 【PHP】フレームワーク CakePHP 16ホール目【v2.4】 (1001) - [95%] - 2014/3/3 3:00
- 【PHP】フレームワーク CakePHP 15ホール目【v2.2】 (985) - [95%] - 2013/9/7 8:30
- 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 (995) - [95%] - 2012/4/23 21:16 ○
- 【PHP】フレームワーク CakePHP 8ホール目【1.3】 (1001) - [95%] - 2010/7/22 22:16
- 【PHP】フレームワーク CakePHP 17ホール目【v3α】 (955) - [93%] - 2016/11/15 20:45
- 【PHP】フレームワーク CakePHP 7ホール目【v1.2】 (1001) - [92%] - 2010/3/18 1:18 ○
- 【PHP】フレームワーク CakePHP 5ホール目【v1.2】 (985) - [92%] - 2009/3/7 4:53 ☆
- 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 (1001) - [92%] - 2008/12/19 21:06 ○
- 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 (933) - [92%] - 2009/8/19 2:06 ○
- 【PHP】フレームワーク CakePHP 12ホール目【笑】 (1001) - [92%] - 2011/11/8 7:01
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [84%] - 2008/6/19 7:19 ○
トップメニューへ / →のくす牧場書庫について