[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/18 06:00 / Filesize : 225 KB / Number-of Response : 899
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 16ホール目【v2.4】



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

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に比べて他のメリットってなにもないよね。
参考になったよありがとう。

101 名前:nobodyさん mailto:sage [2013/09/20(金) 05:51:49.74 ID:???]
特定のページに行くとセッションが切れるのなんなの?

102 名前:nobodyさん mailto:sage [2013/09/20(金) 07:38:57.90 ID:???]
>>101
特定のページの作りがおかしいんだろうな

103 名前:nobodyさん mailto:sage [2013/09/20(金) 09:51:34.51 ID:???]
>>101
ファイルの存在しないパスのアセットを取得しようとしてるかも。
一度CSSとかfaviconとかの記述をチェックして下さい。



104 名前:nobodyさん mailto:sage [2013/09/20(金) 16:20:28.57 ID:???]
AuthってAppControllerに指定してる?
してないならセッション切れの原因になると思う
俺も一部のコントローラーだけ指定してたらそうなった

105 名前:nobodyさん mailto:sage [2013/09/20(金) 17:24:32.38 ID:???]
>>100
cakeはcontrollerの部分はすごく便利
だが、modelはダメダメ
viewもわりと使いやすい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef