1 名前:nobodyさん [2013/09/09(月) 01:56:10.19 ID:m9OPw/HT] CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ 質問するときはCakePHPのバージョンを書きましょう ※他フレームワークとの比較等はスレ違いです ■本家 www.cakephp.org/ APIドキュメント api.cakephp.org/ github - cakephp github.com/cakephp the Bakery bakery.cakephp.org/ Issue cakephp.lighthouseapp.com/dashboard CheatSheet[1.2] (PDF) cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf ■日本語公式 cakephp.jp/ フォーラム cakephp.jp/modules/newbb/ cookbook(マニュアル) [2.x] book.cakephp.org/2.0/ja/index.html [1.3] book.cakephp.org/ja kohada.2ch.net/test/read.cgi/php/1354593996/l50
2 名前:nobodyさん [2013/09/09(月) 01:58:03.76 ID:m9OPw/HT] 無いので建てた 過去ログのタイトル記入漏れ 【PHP】フレームワーク CakePHP 15ホール目【v2.2】 kohada.2ch.net/test/read.cgi/php/1354593996/l50
3 名前:nobodyさん mailto:sage [2013/09/09(月) 16:35:03.60 ID:???] テンプレが貼られるのを待たず質問。CakeDCって何ですか? 「CakeDCとは」でググったんですけど出てきませんでした。 CakeDCのユーザー認証は標準のユーザー認証機能より良いんですか? CakeDCのデメリットはありませんか? あと、「CakeDC」でググると一番最初に出てくるサイトは 「このサイトは危険にさらされている可能性があります。」 とか書いてありますけど大丈夫ですか?
4 名前:nobodyさん mailto:sage [2013/09/09(月) 17:07:58.33 ID:???] >CakeDCって何ですか? CakePHP のコアデベロッパーが多数在籍してるSIer CEOがCakePHPの元開発リーダー 以前ほどは CakePHP の開発における依存度は高く無いとはいえ、影響力は絶大。 Github のリポジトリで公開しているプラグインはどれも有名で多くのユーザーが使ってる模様。 >CakeDCのユーザー認証は標準のユーザー認証機能より良いんですか? Usersプラグインのことでしょうか? だとすると、CakePHP の機能を置き換えるものじゃなくて、 補完および隠蔽して使いやすくしているのだとおもう。 >CakeDCのデメリットはありませんか? ネットの評判を見る限り、特に致命的な欠陥はないでしょう。 実際には実装に応じて要求が異なるので何がデメリットになるのかは場合により異なる。 CakeDCに限らないが、どのプラグインを使うにしてもひと通りソースを読めないと安心して運用するのは厳しいと思うよ。 WordPress みたいな気軽な感覚(それも問題あるけど)で 初見のプラグインをホイホイ放り込んですんなり使えるとは思わない方がいい。
5 名前:nobodyさん mailto:sage [2013/09/09(月) 17:12:55.63 ID:???] >あと、「CakeDC」でググると一番最初に出てくるサイトは ググったトップがどれのことか分からんが、 www.cakedc.com/ ならそんなエラー俺の環境じゃ出てこなかったけどな。
6 名前:nobodyさん mailto:sage [2013/09/09(月) 23:06:57.23 ID:???] >>4-5 ご丁寧なレス頂き本当にありがとうございます。 Usersプラグインのことです。 >初見のプラグインをホイホイ放り込んですんなり使えるとは思わない方がいい。 と言うのは肝に銘じます。 >>5 に関しては日本語でググってしまったので 「プラグイン/CakeDC/users - CakePHP2 Memo」 と言うページがトップに来ました。 URLは念のためあえて貼りません。
7 名前:nobodyさん mailto:sage [2013/09/10(火) 00:28:29.95 ID:???] Usersプラグインは、プラグインとは名ばかりのサンプル実装と考えたほうがいいよ。 サンプルといっても、微妙なつくりになってるところもあるから、 使えるところだけ参考にしながら別途書くのがいい
8 名前:nobodyさん mailto:sage [2013/09/10(火) 22:27:53.62 ID:???] cakephp2を触り始めて日記を作ったのですが URLを直で .../delete/1 などとすると An Internal Error Has Occurred.というエラーがでて削除はされないのですが 自分でhtmlファイルを作り そこにポストでボタンを作成し日記のデリートURLに飛ばすと普通に削除できてしまいます これは自分のコントローラーが悪いのかどこか書き方が間違っているのでしょうか?
9 名前:nobodyさん mailto:sage [2013/09/11(水) 00:00:08.07 ID:???] 山ほど可能性があるのでそれじゃ情報少なすぎる。 まずそのエラーが出てるってことはデバグの出力を抑制してるんじゃない? 質問する場合は必ず Configure で debug の値を 2 にしておく。 それだけで解決することも多い。 で分からなければ、出た文面をそのまま貼り付ける。 ただ文面から推測すると、bake したコントローラをそのまま使ってるっぽいが、違う?
10 名前:nobodyさん mailto:sage [2013/09/11(水) 00:06:48.10 ID:???] いや、debug 値は関係無さそうだな。 bake ファイルなら例外を投げるからそれでもなさそうだな。 いったいどんなコード書いてるんだ? Controller のメソッド貼り付けて見たら?
11 名前:8 mailto:sage [2013/09/11(水) 00:23:34.10 ID:???] ちょっと自分でもわからず書いていますのでわかりにくかったらすいません。 普通に作ったダイアリー上で削除ボタンはしっかり動作します URLを直に/delete/id とすると Error: The view for diarysController::delete() was not found. とでます。これは普通ですよね?URLから削除をさせないため、ほかのとこにアクセスさせないため 少しいろいろ書いてあるので消しましたがたぶんこれで動いてるはずです public function delete($id) { if ($this->request->is('post') || $this->request->is('put')) { $this->Diary->delete($id); $this->redirect(array('action' => 'index')); } ここまで正常だと思うのですが 自分で作ったhtmlファイルに <form action="自分のURL/delete/ID" method="post"> <input type="hidden" name="_method" value="POST"/> <input type="submit" value="DELETE"> </form> で記述してこれで投げると消されてしまいます どうすれば解決できるのでしょうか・・・? ポストを判定するまえになにか条件いれればいいのでしょうか?
12 名前:nobodyさん mailto:sage [2013/09/11(水) 01:35:06.52 ID:???] CakePHPは初心者も大事にするFWなんでお答えします。 結論から言うと、質問の中にそもそも答えが含まれてる。 > Error: The view for diarysController::delete() was not found. がなぜ出力されるのかというと、アクションの結果を描画するためのビューがないっていうこと。 なので、このエラーそのものと、レコードが削除されないことは実は関係がない。 > URLから削除をさせないため、 の措置はアクション内部でのリクエストタイプ判定で行ってる。 で、これがほんとうに意味が分かって言ってるんなら、質問の答がこれですよ。 URLを直接叩いて削除しちゃうと良くないことが多いので、そうしないようにコードに記述してる。 つまり、コントローラが悪いのじゃなくてリクエストの仕方が悪いだけ。 > ほかのとこにアクセスさせないため 「ほかのとこにアクセス」が意味不明だが、リダイレクトの事を言ってるのならば、 別にそういうふうに作りたければそうすればよいだけで、このエラーの内容とは直接関係がない。
13 名前:nobodyさん mailto:sage [2013/09/11(水) 01:35:43.16 ID:???] > if ($this->request->is('post') || $this->request->is('put')) { で判定してる $this->request というのは自動的にセットされる CakeRequest のオブジェクトで、 リクエストに纏わる諸々のデータ・構造が内包されてる。 こいつの CakeRequest::is() メソッドでリクエストタイプを判定して、POST か PUT なら モデルに対して削除を命令して、「描画せずに」array('action' => 'index') へリダイレクトする。 ここでこのリクエストに対する処理は終わり。(厳密には多少の後処理はある) ちなみに分かってるかも知れないけど、この array('action' => 'index') っていうのは URL そのもので、 足らないパラメータ('plugin' や 'controller') はRouter で自動補完されて完全なフルパスにパースされる。 で、先程のは POST か PUT の場合だけど、それ以外(まぁGETだが)は評価ブロックを抜けて 通常のレンダリングに移行する。 仮に Diaries/delete.ctp を配置しておけば上記のエラーは出ないというだけ。 こんな説明で分かりましたか?
14 名前:nobodyさん mailto:sage [2013/09/11(水) 01:40:10.71 ID:???] あらら、それと、 diaysController って DiariesController の書き間違いだよね?
15 名前:8 mailto:sage [2013/09/11(水) 02:09:49.14 ID:???] とても詳しく説明してもらってすいません 書き間違えはすいません 日記のようなものを作っています。少し改変しました ちょっと補足します > URLから削除をさせないため、 というのはその通りです。 > ほかのとこにアクセスさせないため なんでもないです。すいません >仮に Diaries/delete.ctp を配置しておけば上記のエラーは出ないというだけ。 エラーは別にあってもなくてもいいのですが <form action="自分のURL/delete/ID" method="post"> <input type="hidden" name="_method" value="POST"/> <input type="submit" value="DELETE"> </form> この部分の回答がほしくて理解不足でもう出ていたらすいません 日記はその書いた人した消せない仕様なのですが メモちょうなので↑のコードを書いてそこにあるボタンを押すことでどのIDの日記でも削除できてしまう のをどうしたらいいかの回答がほしいです ちょっと自分のやっていることが特殊なのか言葉不足なのかもしれません。
16 名前:8 mailto:sage [2013/09/11(水) 02:11:10.50 ID:???] >仮に Diaries/delete.ctp を配置しておけば上記のエラーは出ないというだけ。 今回はエラーは別にあってもなくてもいいのです。本当は書いたほうがいいんでしょうけど・・・
17 名前:nobodyさん mailto:sage [2013/09/11(水) 02:28:30.27 ID:???] あぁ、権限の話でしたか。 消したいのに消せないので困ってるのかと勘違いしてた。 それなら CakePHP 以前に、PHPでリクエストを送ったユーザーを どう識別するのかってことが分かってないと。 実現する便利な機能(端的に言うと AuthComponent ですね) は備わってるけど、"PHP ログイン 認証" とかでググって まずは素のコードが書けるようになってから Cake に 再チャレンジした方がいい。 今のままだとサンプル見てもどの部分がCakeの機能で、 どの部分がPHPなのかさっぱりわからない状態じゃないかな? もしそうならいったん基礎に戻ったほうが結局は早く理解できて効率がいい。
18 名前:8 mailto:sage [2013/09/11(水) 02:35:31.22 ID:???] ポスト判定をする前にまずログインしてるか調べてそのあとユーザーとその日記の書いたユーザが一致か調べればいけますかねぇ・・・ きっちり基礎ができているとは言いがたいですけどがんばって見ます
19 名前:nobodyさん mailto:sage [2013/09/11(水) 02:46:57.82 ID:???] ある程度基礎ができてるなら、上のレスで書かれてる CakeDC の Users プラグインを使って認証を一通り実装してみるといいです。 とても勉強になりますよ。
20 名前:nobodyさん mailto:sage [2013/09/11(水) 06:06:04.88 ID:???] StackOverflowてCakeの質問してみたけど全然レスが付かない 別の質問もしてみたけどやはりレスが付かない そもそも8 viewsしかされてないし、Cakeってだけでスルーされちゃうのだろうか
21 名前:nobodyさん mailto:sage [2013/09/11(水) 06:25:05.97 ID:???] >>20 だからどの質問だ? url貼れ
22 名前:nobodyさん [2013/09/11(水) 08:46:56.10 ID:AXWD8Gpa] チュートリアルを見ると1テーブルに1モデルでそのモデルに対して複数のコントロールとビューがあるパターンしかないんですけど、 自分がやりたいのは複数のビューとコントロールに対して、複数のテーブルからデータを集めてきて処理をしたいんです。 その場合、モデルで記述するクラスはテーブルを使わない独自クラス、呼び出すテーブルはアソシエーションで定義するという理解でいいですか? モデルに使用するテーブルをクラスとして別々に記述できるといいんですけど、違うみたいだし。
23 名前:nobodyさん mailto:sage [2013/09/11(水) 10:36:21.33 ID:???] >>22 1モデル=1テーブル という図式があたかも 規則であるかのように受け取られてしまうのが チュートリアルの欠点のように思う。 それは全く気にする必要なし。 やりたいようにやればいい。 あと、標準のプロパティで張れるアソシエーションは限界があるので それを越えようと思えば 'joins' キーでパラメータを指定したり、 直書きする。 一例を上げると、主テーブルに対して2つのテーブルをLEFT JOINするときに、 サブテーブルのキー同士を結びつける条件はプロパティの設定では不可能。 こういうときはメソッド内で joins で指定するしか無い。 Cake3 はもう少しマシになってるらしいが。
24 名前:nobodyさん mailto:sage [2013/09/11(水) 10:41:19.91 ID:???] Cake3 は Table クラスが分離される模様
25 名前:nobodyさん mailto:sage [2013/09/11(水) 11:21:24.92 ID:???] さすがにその頃にはCake卒業したい
26 名前:nobodyさん mailto:sage [2013/09/11(水) 12:01:01.77 ID:???] もう時間ないぞ
27 名前:nobodyさん mailto:sage [2013/09/11(水) 12:07:33.07 ID:???] >>18 お前、チュートリアル(認証系の方)にちゃんと書いてあるぞ 翻訳も完了してるんだから最低限チュートリアルやってから質問しに来い
28 名前:nobodyさん mailto:sage [2013/09/11(水) 12:15:38.97 ID:???] >>27 そういうなよ。 CakePHPのドキュメントは正直分かりにくいし、 初心者というのはいろんな情報を手探りで集めるんだし
29 名前:nobodyさん mailto:sage [2013/09/11(水) 12:47:53.86 ID:???] ぶっちゃけ公式ドキュメント見るのが一番効率悪い よくできてないだろ、あれ 絶妙に必要な情報が欠落していて、中級者でも戸惑う
30 名前:nobodyさん mailto:sage [2013/09/11(水) 13:02:57.78 ID:???] かなり同意。 CakePHPのドキュメントは分かりにくいよね。 ぐだぐだと長い文章書いてある割りに、 開発中にあれ?どうなってるだっけ?と思った疑問には全然答えてくれない。
31 名前:nobodyさん mailto:sage [2013/09/11(水) 13:43:15.36 ID:???] そう、ボリュームが足りないとはあまり感じないんだけど 開発してたら調べたくなるようなことが、悉く載っていない 結局ぐぐってどこかの馬の骨のブログにたどり着き、 古い情報やサンプルコードを、必死で直しながら使うことになる
32 名前:nobodyさん mailto:sage [2013/09/11(水) 18:44:25.49 ID:???] ドキュメントで翻訳されていないページはみんなどうしてんの?
33 名前:nobodyさん mailto:sage [2013/09/11(水) 20:21:07.93 ID:???] そのまま読むかググるq
34 名前:nobodyさん mailto:sage [2013/09/12(木) 01:00:10.04 ID:???] apiの方かソースコードを読む
35 名前:nobodyさん mailto:sage [2013/09/12(木) 01:45:24.46 ID:???] >>34 に同じく。 ドキュメント、面白くさせようとしてるんだろうけど無駄な文章や修飾が多い。 用語のゆらぎも多い気がする。
36 名前:nobodyさん mailto:sage [2013/09/12(木) 23:09:03.21 ID:???] 質問させて頂きます。 下記のリレーションを持つモデルがあります。 User hasmany Thread(Thread belongsto User) Thread hasmany Response(Response belongsto Thread) User hasmany Response(Response belongsto User) Threadの詳細表示画面(viewアクション)で 一覧表示されるResponseのuser_idの代わりに、 Userテーブルのフィールドの一つであるusernameを 表示させたいんですが、スマートなやり方はありますか? 力技で何とかしようと結構時間を掛けて試行錯誤したんですが 上手く行かなくて質問させて頂きました。
37 名前:nobodyさん mailto:sage [2013/09/12(木) 23:12:30.82 ID:???] 36です。書き忘れましたがCakePHPのバージョンは2.3.9です。
38 名前:nobodyさん mailto:sage [2013/09/12(木) 23:22:00.75 ID:???] $this->Thread->Response->User->displayField = 'username'; $this->Thread->recursive = 2; $thread = $this->Thread->read(); はどう? 試してないから間違ってたらすまん
39 名前:nobodyさん mailto:sage [2013/09/13(金) 00:07:10.21 ID:???] >>36 です。ありがとうございます。 $this->Thread->Response->User->displayField = 'username'; を試してみましたが、 Indirect modification of overloaded property AppModel::$User has no effect とエラーが出ました。 また、 $this->set('thread', $this->Thread->find('first', $options)); を $this->set('thread', $this->Thread->read(); や $thread = $this->Thread->read(); にも書き換えてみましたが、Threadの中身が表示されなくなりました。 $this->Thread->recursive = 2; はヒントになりそうな気がします。 今日はもう眠いのでまた明日試してみようと思いますので、 お世話になれれば幸いです。
40 名前:nobodyさん mailto:sage [2013/09/13(金) 01:32:12.20 ID:???] あぁ、すまん、Thread が持つ Response に含まれる User の username ね。 それなら displayField 云々は要らないな。 これは単純に User.username のデータを拾えるようにしてそれを表示すれば良いので、 一番雑なやり方だけど簡単なのは上で書いたように recursive を 2 にすればデータを取得できる。 どんな形式で返されてるかは debug() とか使って確認してちょうだい。 データアクセスはなれるまで少し面倒くさいけど仕方ないね。 ただ、このやり方で発行されるクエリはかなり大雑把。 Containable というビヘイビアの使い方をもし知らなければまずそれを覚えて損はない。 しかしこれもパフォーマンスを追求するなら酷いSELECT文になることが多い。 パフォーマンス上げたいなら最終的には細かくチューニングしなくちゃならないです。
41 名前:nobodyさん mailto:sage [2013/09/13(金) 01:43:58.32 ID:???] あと気になるのは > $this->Thread->Response->User->displayField = 'username'; > を試してみましたが、 > Indirect modification of overloaded property AppModel::$User has no effect > とエラーが出ました。 これは出ないはずなんだけどなぁ。 本当に Response::$hasMany に User をセットしてる? それさえしていれば、Response::$User プロパティがコールされたタイミングで (なければ)自動的にセットするんで上記のエラーは出ないはずなんだが。。。 > Threadの中身が表示されなくなりました。 というのは何でかよく分からんけど、どんなクエリ発行されてるのか確認すると良いと思う。
42 名前:nobodyさん [2013/09/13(金) 11:04:36.05 ID:lL7QR+Re] すみません。教えてください /libs/view/helpers/paginator.php の関数を一部書き換えたいのですが /app/views/helpers/ に自作クラスファイルを置く場合、どうやって書けばいいのでしょうか?
43 名前:nobodyさん mailto:sage [2013/09/13(金) 11:34:39.66 ID:???] パターン1: 継承する /app/View/Helper/MyPaginator.php App::uses('Paginator', 'View/Helper'); class MyPaginator extends Paginator { } class PostsController extends AppController { public $components = array('Paginator' => array('className' => 'MyPaginator')); } パターン2: Paginator を app にコピー /app/View/Helper/Paginator.php (元の Paginator をそのまま貼り付けて適宜改造) パターン1 のほうがいい。
44 名前:nobodyさん [2013/09/13(金) 11:52:08.68 ID:lL7QR+Re] 丁寧にありがとうございます 1の方法を試したのですがPHPの書式エラーが出てうまくいかなかったので、 とりあえず2の方法で実装できました
45 名前:nobodyさん mailto:sage [2013/09/13(金) 13:19:06.74 ID:???] え、どんなエラー? ひょっとして1.3使ってる?
46 名前:nobodyさん [2013/09/13(金) 13:50:01.95 ID:lL7QR+Re] はい。1.3です Appなんて知らないよ、みたいなエラーでした 私自身cakePHPを使ったことないのですが、現行システムを引き継いで、 新システム+機能追加を行えという依頼が来ているので、四苦八苦しているのです
47 名前:nobodyさん mailto:sage [2013/09/13(金) 13:54:32.98 ID:???] うわぁ、大変だなぁ。 エラーは多分App知らないじゃなくて、そんなメソッドないよってエラーではないかと。 1.3 のときは App::uses() じゃなくて App::import() 使ってた。 このへんはだいぶ変わってるからなぁ。 とりあえずパターン1でもApp::uses の行を削除すれば多分動く。 あと、クラス名とか大幅に間違えてたすまん。 Paginator じゃなくて PaginatorComponent だよな。
48 名前:nobodyさん mailto:sage [2013/09/13(金) 13:57:05.57 ID:???] いや、 Component じゃなくて Helper だ。 なんかgdgdになってきたわw
49 名前:nobodyさん [2013/09/13(金) 14:02:15.60 ID:lL7QR+Re] ありがとうございます。 今他の人が動作確認等をしているところなので、エラー画面を出すわけにもなので、また後で試してみます 他社が作ったシステムなのですが、不具合だらけで、よくこんなので数年運用していたな…と思えるもので お客さんもこの制作会社に愛想をつかしたのかなと
50 名前:nobodyさん mailto:sage [2013/09/13(金) 17:19:36.52 ID:???] そう言えば何年も前に1.2で納品したサイトをこの前こっそり覗いたらまだそのまんま稼働してた。 ひょっとして裏でメンテナンスしてる?と思ったけどどうやらそのままっぽい。 あれを今こっちによこされても触る気しねぇなw
51 名前:nobodyさん mailto:sage [2013/09/13(金) 22:37:32.90 ID:???] >>36 です。 >>41 すみません。ご指摘頂いている通り リレーション(実際にはbelongsTo)の設定に漏れがありました。 お騒がせしました。 おかげさまで力技で何とかusernameを表示させることができました。 本当はContainableとか使ってスマートにやれれば良いのでしょうが 今のところパフォーマンスはそこまで気にしなくて良さそうなので とにかくありがとうございました。
52 名前:nobodyさん mailto:sage [2013/09/14(土) 22:05:34.75 ID:???] CakePHPでテストを書いてて質問です モデル内の「1ヶ月以上放置ユーザーのデータを書き換える」という関数のテストを書きたいのですが 関数内でdate()を使っているのでテストを動かす日付によってテスト結果が変わってしまうことになります テスト中はdate()をモック化して常に同じ日付を返すような事はできないでしょうか?
53 名前:nobodyさん mailto:sage [2013/09/14(土) 22:38:16.25 ID:???] >>52 https://github.com/hnw/php-timecop
54 名前:nobodyさん mailto:sage [2013/09/14(土) 22:50:16.35 ID:???] へえ、こんなのあるんだw あざっす
55 名前:nobodyさん mailto:sage [2013/09/16(月) 00:08:58.74 ID:???] View内にSQLを書くのはあり?
56 名前:nobodyさん mailto:sage [2013/09/16(月) 01:32:09.97 ID:???] 別にいいんじゃない?
57 名前:nobodyさん mailto:sage [2013/09/16(月) 01:36:20.86 ID:???] え?
58 名前:nobodyさん [2013/09/16(月) 01:37:11.54 ID:KEkZXyyj] >>56 本当にいいの?
59 名前:nobodyさん mailto:sage [2013/09/16(月) 01:46:36.58 ID:???] これなら良いだろ? <?php echo 'SELECT * FROM posts;'; ?>
60 名前:nobodyさん mailto:sage [2013/09/16(月) 07:24:05.78 ID:???] >>59 それで出来るの!
61 名前:nobodyさん mailto:sage [2013/09/16(月) 12:45:44.30 ID:???] いいこと思い付いた viewにユーザーにSQL入力してもらうフォーム置いとけば、アプリの開発要らないんじゃね?
62 名前:nobodyさん mailto:sage [2013/09/16(月) 13:57:55.65 ID:???] >>59 やっかたけど文字列が帰ってくるだけだった
63 名前:nobodyさん mailto:sage [2013/09/16(月) 14:58:11.99 ID:???] >>62 まさか真に受けるとは思わなかった。。。 常識的にViewではSQLは書かないという前提があって、 だけど文字列で表示するというだけならば問題ないよね っていう流れで書いたつもりなんだけど 悪気はなかった。すまん
64 名前:nobodyさん mailto:sage [2013/09/16(月) 16:39:46.11 ID:???] >>62 おまえかわいいな
65 名前:nobodyさん mailto:sage [2013/09/16(月) 16:59:49.24 ID:???] View から SELECT だけは許可できる仕組みって作れないものかね?
66 名前:nobodyさん mailto:sage [2013/09/16(月) 17:03:04.01 ID:???] >>63 親をループさせながら子のデータを取得したいんだけど コントローラーでやると複雑になって、面倒くさいからVIEWでSQL書いちゃえば早くね?と思ったんだけどダメか?
67 名前:nobodyさん mailto:sage [2013/09/16(月) 17:59:16.56 ID:???] >>66 定石だと、それはモデルでやるべきだろうな。
68 名前:nobodyさん mailto:sage [2013/09/16(月) 20:49:35.86 ID:???] 開発して専用のサーバーに設置したのですが、robots.txtへのアクセスが全部エラーとなってtmpの下のerror.logに記録されています [MissingControllerException] Controller class Robots.txtController could not be found. 特に害はないのですがどうすればエラーをなくせますか?
69 名前:nobodyさん mailto:sage [2013/09/16(月) 21:47:16.36 ID:???] 本来は所得税が0の年が一度でもあったら参政権を生涯剥奪するべきだが 少なくとも生活保護や自己破産は選挙権と引き替えにすべき
70 名前:nobodyさん mailto:sage [2013/09/16(月) 21:59:16.92 ID:???] >>69 MVCモデルのことですか?いまいちわかりません。
71 名前:nobodyさん mailto:sage [2013/09/16(月) 22:21:35.91 ID:???] >>68 robotx.txt が設置されてないだけと思うんだが、違う?
72 名前:nobodyさん mailto:sage [2013/09/16(月) 22:22:09.07 ID:???] >>68 robotx.txt が設置されてないだけと思うんだが、違う?
73 名前:nobodyさん mailto:sage [2013/09/16(月) 22:26:35.95 ID:???] すまん、二重カキコになってしまった。 しかちいつまでたっても2ちゃんのシステムは垢抜けないな
74 名前:nobodyさん mailto:sage [2013/09/17(火) 12:59:52.45 ID:???] >>55 だけど。思いついた! 子テーブルのビューを作って親のループ中にrequireすればいい! モデル理解するの無理そうだからそうしよう!
75 名前:nobodyさん mailto:sage [2013/09/17(火) 13:45:38.86 ID:???] controllerはわりと理解した viewもわりと理解した modelがよくわからない 他人が書いたソースを眺めるだけじゃなく、ちゃんと書籍なりで勉強すべきかな
76 名前:nobodyさん mailto:sage [2013/09/17(火) 13:54:53.58 ID:???] フォームのinput submitでハマった。 普通なら/xxxx に飛ぶのに/xxxx/ に行ってしまって、その後のボタン処理が滅茶苦茶。 結局判らずリンク先をダイレクトに指定して回避したけど気持ち悪い。 Twitter Bootstrapを最近入れたけどCakePHPのフォーム処理と使い勝手が悪い感じがする。
77 名前:nobodyさん mailto:sage [2013/09/17(火) 13:59:43.68 ID:???] 入門書はいくつかあるけど中級以上向けのガイドが欲しいな 実際に開発始めると、例みたいに簡単な1コントローラ、1モデル、1ビューの構成に片付かない 1コントローラ複数モデルになると一気にコントローラが太るのを何とかしたい
78 名前:nobodyさん mailto:sage [2013/09/17(火) 14:21:37.80 ID:???] >>74 なんか苦戦してるみたいだけど、 具体的に詳しく書けば何らかの助言は貰えると思うよ。 よくは分からないけど、あなたは今良くない方向へ向かっている気がする。 同じ努力をするなら少し方向を考え直した方がいいのでは?
79 名前:nobodyさん mailto:sage [2013/09/17(火) 16:36:07.83 ID:???] 複数形で書いたり単数形で書いたり、気持ち悪いったらありゃしない
80 名前:nobodyさん mailto:sage [2013/09/17(火) 16:37:37.77 ID:???] >>76 フレームワークが暗黙的にいろんなデータを補完しているから、 初心者だとよくはまる失敗の典型ではないかと思います。 詳しく見れば必ず解決できるはずなんだけど、最初は調べ方すらわからないのが普通。 問題になってる FormHelper::create() のパラメータを書いて見れば?
81 名前:nobodyさん mailto:sage [2013/09/17(火) 16:40:07.14 ID:???] >>79 アングロサクソンに合わせるしか無いのであきらめろ。 世界の文化を上書きできるならもう一度戦争してみればいい。
82 名前:nobodyさん mailto:sage [2013/09/17(火) 16:52:47.46 ID:???] 複数形が単純に「s」つけるだけならいいけど、company→companiesみたいに単純なものじゃないときにどうしていかわからないよ
83 名前:nobodyさん mailto:sage [2013/09/17(火) 17:35:09.83 ID:???] どうでもいいけどdataの複数形は?
84 名前:nobodyさん mailto:sage [2013/09/17(火) 17:37:54.93 ID:???] datum
85 名前:nobodyさん mailto:sage [2013/09/17(火) 17:41:21.66 ID:???] >>83-84 ギャグじゃなければ逆
86 名前:nobodyさん mailto:sage [2013/09/17(火) 18:00:02.50 ID:???] はっ!
87 名前:nobodyさん mailto:sage [2013/09/18(水) 15:18:46.52 ID:???] ちょっと聞いてみるんですけど、 FoodsテーブルにcolumnとしてDish_id, Calorie, (質問には関係ないけどFoodnameも)が有って、 Dishesテーブルの内容を、それぞれのrowに属するFoodのCalorieの合計の大きい小さい順に paginatorの機能を使って並び変えられるようにしたい時、どうするのが一番良いですかね? DishesテーブルにCalorieの合計値を属性として持たせる、と言うのは思いついたんですがどうでしょうか? CakePHPは2.2を使ってます。
88 名前:nobodyさん mailto:sage [2013/09/18(水) 15:59:01.32 ID:???] >>87 間違ってないので良いんではないでしょうか
89 名前:nobodyさん mailto:sage [2013/09/18(水) 16:05:46.78 ID:???] >>88 そうですか、ありがとうございます。 ただそうなると、もしFoodsテーブルのcalorie情報とDishesテーブルのcalorie合計値情報が 絶対矛盾しない様にしたいと思ったらトランザクションとか使わないといけないですよね? もしくはcronとかを回してFoodsテーブルとDishesテーブルで矛盾が出たら検知するプログラムを走らせるとか?
90 名前:nobodyさん mailto:sage [2013/09/18(水) 21:07:53.48 ID:???] MySQL ならトリガー使えばDB側で正確さを担保できる
91 名前:nobodyさん mailto:sage [2013/09/19(木) 01:15:58.79 ID:???] >>55 だけど!モデル理解するの無理そうだから。もうコントローラーにHTML書いて書いてく!
92 名前:nobodyさん mailto:sage [2013/09/19(木) 01:47:34.39 ID:???] お、おう・・・
93 名前:nobodyさん mailto:sage [2013/09/19(木) 05:11:21.97 ID:???] フレームワーク使う意味ないやんw
94 名前:nobodyさん mailto:sage [2013/09/19(木) 11:46:18.88 ID:???] >>93 でもちゃんと理解できるまでそうするっていうのならありじゃない? 理解してないのに使うなは禁句
95 名前:nobodyさん mailto:sage [2013/09/19(木) 12:02:37.73 ID:???] ネタなのかマジなのかわからないのが沢山混じってるな・・・
96 名前:nobodyさん mailto:1 [2013/09/19(木) 22:23:16.57 ID:???] cakeを使うメリットを教えてほしいんだが、何がそんなにいいの?
97 名前:nobodyさん mailto:sage [2013/09/19(木) 23:00:16.87 ID:???] 勘違いしてるようだが 他FWに比べて、いいから使ってるわきゃない
98 名前:nobodyさん mailto:sage [2013/09/20(金) 00:26:53.84 ID:???] 日本語資料が(他と比べると)多い それが一番じゃないかな?
99 名前:nobodyさん mailto:sage [2013/09/20(金) 00:31:48.40 ID:???] 最初になんとなくCakeを選んでしまった 今は後悔している
100 名前:nobodyさん mailto:1 [2013/09/20(金) 04:37:03.54 ID:???] >> 96 97 98 96だが、日本語の資料が多いだけか。 他FWに比べて他のメリットってなにもないよね。 参考になったよありがとう。