【PHP】フレームワーク CakePHP 8ホール目【1.3】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2010/03/18(木) 10:00:59ID:6+kHM8kHCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※sage推奨
テンプレは>>1-5くらい
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
0938nobodyさん
2010/07/21(水) 14:18:45ID:???用意されてない
最後の数字がユニークなら末尾2桁とって 59 というディレクトリに書き出すようにすると100分の1になるよ
0941923
2010/07/21(水) 14:36:20ID:???保存場所を任意のディレクトリにはできるようです
キャッシュ保存前に保存場所を切り替えてディレクトリに分けて保存するという
やり方もありそうですが、結局読み出しの時にそのディレクトリを指定してあげなきゃ
いけないので、どちらにせよその辺は自前で用意しなきゃいけませんね・・・
0942935
2010/07/21(水) 14:36:36ID:???ビューのキャッシュのファイル名など決めてんのはキャッシュヘルパーの仕事すね。
0943935
2010/07/21(水) 14:52:27ID:???そんなこともあったんだ。
俺が不安に思ってたのは、キャッシュのファイル名はurlをInflector::slugにかけて作ってるから
下手すると、違うページなのに同一ファイル名のキャッシュができてしまう可能性があること。
1.3のInflector::slugはちょっと良くなったみたいだけど、どうなんだろ。
0944nobodyさん
2010/07/21(水) 14:55:11ID:???URLごとにキャッシュファイル作成するからそれはない
Inflector::slugの件は、PCREライブラリの設定で、回避可能(確認したのはv1.3.0)
0945nobodyさん
2010/07/21(水) 14:56:13ID:???フォルダ名(コントローラー名の頭文字を小文字にしたやつ)
を簡単に取得するにはどうしたらいいでしょうか
$this->name で名前がとれましたが、頭文字が大文字の
ため、毎度変換しないといけないので、もっと簡単にとれれば
と思った次第です
0947nobodyさん
2010/07/21(水) 15:45:21ID:???コンポーネントやヘルパーを作って完全にCakeに移行します?
Cake用に書き換えるとCake以外で使う時、使えなくなるなって思い
どこまで移植するか悩みます。
0948nobodyさん
2010/07/21(水) 16:16:24ID:???0949nobodyさん
2010/07/21(水) 16:32:57ID:???0950nobodyさん
2010/07/21(水) 16:39:38ID:???さっさとcakePHP用に移行したほうが幸せになれると思うけど。
cakePHPのファンクションを使用しなければ、
他のフレームワークに移行したところで影響は少ないと思う。
0951nobodyさん
2010/07/21(水) 16:52:33ID:???カラスもつつかないごみじゃない?
0952nobodyさん
2010/07/21(水) 18:00:11ID:???さっきから小一時間やっていたのですが、
ようやく1つの関数を移行できました・・。
いくらやってもデータが追加できなかったのですが、
素のSQL文って INSERT INTO table_name ('name') VALUES ('aaa')
でもインサートされて、IDはオートインクリメントで連番が付けられますが、
Cakeの場合は、IDフィールドを指定しないと追加されません。
$values["Test"] = array(
'id' =>'', // これが必要
'name'=>$name
)
こういうCake特有の仕様が物凄く面倒なんですよね・・・
0953nobodyさん
2010/07/21(水) 19:49:47ID:???0954nobodyさん
2010/07/21(水) 19:56:15ID:???0955nobodyさん
2010/07/21(水) 20:24:57ID:???0956nobodyさん
2010/07/21(水) 20:27:02ID:???0957nobodyさん
2010/07/21(水) 20:33:16ID:???0958nobodyさん
2010/07/21(水) 21:39:58ID:???Undefined variableエラーが出るんだけど、
issetで調べない方法はゴミソースで良いの?
0960nobodyさん
2010/07/21(水) 23:44:28ID:???0962nobodyさん
2010/07/22(木) 01:07:55ID:???生成した側は構造が分かっているはずだけど、
依存するのは避けたいから利用側で確認しないわけにはいかない。
0963nobodyさん
2010/07/22(木) 01:41:18ID:???24時間以降を、午前1時=25:00
というふうに30時くらいまで追加する方法ってないでしょうか
0964nobodyさん
2010/07/22(木) 01:46:11ID:???0966nobodyさん
2010/07/22(木) 02:35:07ID:???0967nobodyさん
2010/07/22(木) 12:00:40ID:???0968nobodyさん
2010/07/22(木) 14:36:53ID:+voqy8bnfindの場合、$this->B->find でBのモデルに対するデータを取得できますが、
これをページネーションでするにはどうすればいいのでしょうか?
$this->B->paginate()では駄目でした
0969nobodyさん
2010/07/22(木) 14:46:06ID:???でいけました。スレ汚しすみません。。
0970nobodyさん
2010/07/22(木) 15:50:14ID:???0972nobodyさん
2010/07/22(木) 18:44:59ID:???あとcakePHPとは関係がない。よそでやれ
0973nobodyさん
2010/07/22(木) 19:52:23ID:???cakePHPのモデルだとどう書くのですか?
0975nobodyさん
2010/07/22(木) 20:43:44ID:???Thanx!!
検索用語が難しくて全然探せなかったので助かりました。
$this->Article->doIncrement($id, 1, 'votes');
Increment Behavior (Articles) | The Bakery, Everything CakePHP
http://bakery.cakephp.org/articles/view/increment-behavior
検索用: フィールド +1 カウンター SQL field +1 counter
と思ってソースみたら、結局findByIdしたものを +1 しているからSQLは2回
投げる気がする。それだったら意味ないっぽい。
上記リンクのコメントのリンク先にあるやり方の方が良さそうかな。
$content->updateAll(array(‘num_of_purchases’ => ‘num_of_purchases+1′)
0976nobodyさん
2010/07/22(木) 20:44:53ID:???app_model.php
function UpdateHits($id)
{
//debug ($this->useTable);exit;
$FieldToInc = 'views';
$this->execute("UPDATE $this->useTable SET $FieldToInc=$FieldToInc+1 WHERE id=$id");
}
0977nobodyさん
2010/07/22(木) 21:22:06ID:???UPDATE table_name SET count=count+1
なのに、やけにめんどくさいよね。仕様だから仕方ないけど
0978nobodyさん
2010/07/22(木) 22:04:37ID:???0979nobodyさん
2010/07/22(木) 22:55:12ID:???シンプルなものなら直書きでも良いんじゃないか。
0981nobodyさん
2010/07/23(金) 01:41:37ID:???$dat = array('id'=>null,'txt'=>'AAA')
を table->save($dat)
としたら、
クエリの内容が
INSERT INTO "table" ("id", "txt") VALUES (NULL,'AAA')
となってしまって、
idはnullじゃ駄目なんだよ。とエラーが返ってきます。
通常idがnullだと、クエリからidは外してくれるんですが
何故かidが外れません
何か原因で考えられる事はあるでしょうか
0982nobodyさん
2010/07/23(金) 01:43:22ID:???0983nobodyさん
2010/07/23(金) 02:03:22ID:???これまではidを指定していても自動で外してくれていたんです。
特定の場所だけで発生しています
0984nobodyさん
2010/07/23(金) 02:06:15ID:???0985nobodyさん
2010/07/23(金) 02:10:46ID:???人間に方は放置しておk
0987nobodyさん
2010/07/23(金) 02:17:47ID:???バグを見つけてくれる人もいるだろう
0988nobodyさん
2010/07/23(金) 02:33:57ID:???0989nobodyさん
2010/07/23(金) 02:37:40ID:???0990nobodyさん
2010/07/23(金) 02:39:23ID:???この場合の排他制御ってどういう意味?
MySQLならUPDATEしていれば問題ないよね?
incrementの方は排他制御的に問題あると思うけど
0991nobodyさん
2010/07/23(金) 03:09:35ID:???システム変更でデータ移行するから一気に+1したいのか
取り出した値を常に+1したいのか
あーめんどくせーどうでもいいや
ここ最近の質問って全部同一人物だろ
ぐだぐだいってないでCakeやろうと思ったなら
オフィシャルやらチュートリアルやらAPIのドキュメントやら読めよ
嫌なら何も始めるな
0992nobodyさん
2010/07/23(金) 04:09:29ID:???同一人物じゃないが
UPDATE table_name SET count=count+1 をしたい
>ぐだぐだいってないでCakeやろうと思ったなら
>オフィシャルやらチュートリアルやらAPIのドキュメントやら読めよ
どこに書いてあるの? どこにも書いてない、できないから上記の答えになっているんだろ?
日本語が理解できないならまず日本語を勉強してこいよ
0993nobodyさん
2010/07/23(金) 04:30:20ID:???てか、count+1する場面って結構あると思うけどな。
在庫管理にカウンターに投稿数の加算とか。
チュートリアル見て質問してるだろうけど、
翻訳が変だったり、不十分だったりするから人に聞くんでしょ。
0995nobodyさん
2010/07/23(金) 08:49:45ID:???検索できるようになろうね。
それに対して>>977が
>単純にSQL文で書けば
>UPDATE table_name SET count=count+1
>
>なのに、やけにめんどくさいよね。仕様だから仕方ないけど
なんだけど、これ俺勘違いして質問者が言ってると思ってた
だからそう思うならquery()で書けばいいって書いたわけ。
0996nobodyさん
2010/07/23(金) 08:53:56ID:???0997nobodyさん
2010/07/23(金) 09:17:12ID:???http://pc11.2ch.net/test/read.cgi/php/1279844006/
どぞー
0998nobodyさん
2010/07/23(金) 14:52:49ID:???バカか?
queryでできることには誰も反論してないだろ。誰がどこでそれに問題があるって言ったと思っているんだよ。
マニュアル等に書いてないのも事実だろ?
まず日本語の読解能力つけろよ
そんな話はしてなくて今は排他処理のことを聞いているんだよ。
0999nobodyさん
2010/07/23(金) 15:25:43ID:???w
1000nobodyさん
2010/07/23(金) 15:50:25ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。