トップページ⇒php
1001コメント313KB

【PHP】フレームワーク CakePHP 14ホール目【v2.1】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/05/01(火) 16:58:44.53ID:fVBzm1/A
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです
テンプレは>>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

前スレ
【PHP】フレームワーク CakePHP 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
0052nobodyさん2012/05/19(土) 22:45:43.88ID:???
>>50
それってindex.phpでいじるやつでそ?
APP_DIRとかROOTとかあるけど
pluginsとかvendorsの項目が見当たらないんだが
0053nobodyさん2012/05/19(土) 22:46:01.99ID:???
>>50じゃなくて>>51宛て
0054nobodyさん2012/05/20(日) 00:25:07.80ID:???
質問なら何をやりたいのか省略しないできちんと書いてや
pluginとかvendorsをどうしたいの?
0055nobodyさん2012/05/20(日) 10:21:18.74ID:???
>cakephpでシステム関係のファイルなどはドキュメントルートの外に起きたいんだけど
0056nobodyさん2012/05/20(日) 10:56:14.49ID:???
全部ドキュメントルート外において、wwwrootをドキュメントルートに指定しろ
そしてもう来るな
0057nobodyさん2012/05/20(日) 11:00:27.81ID:???
バカが質問をよく読まないで回答しようとするからこうなる
0058nobodyさん2012/05/20(日) 11:35:51.12ID:???
バカなのに死なないで生きているからこうなる
0059nobodyさん2012/05/20(日) 14:29:53.88ID:???
>>55
だからその「システム関係のファイル」ってなんだよ?
cakeのコアのことならマニュアルに書いてある通りだし、>>56の言う通りだ。

vendorsやプラグインも個別にどこにでも好きなところに置けるけど、
>>50 には一言も書いてねえし
0060nobodyさん2012/05/20(日) 19:10:25.50ID:FJzAEkIA
cakeってファットモデルはあまりやらないほうがいいの?
0061nobodyさん2012/05/20(日) 22:42:21.38ID:???
稼働中のシステムでDBのALTER TABLEをしてそれに合わせてソース更新した場合、前の状態がキャッシュされてて動かない
ことがしばしば起こるんだけど、自動でキャッシュ更新する方法ありませんか?
キャッシュはmemcachedを使っています
0062nobodyさん2012/05/21(月) 10:35:51.06ID:???
>>60
ロジックをコントローラでなくモデルに書くってことか?
個人的にはそうすべきだと思う。
0063602012/05/21(月) 20:21:34.67ID:???
>>62
$this->Model->find('all')
みたいなやつでもモデルに書くようにしてる?
0064nobodyさん2012/05/21(月) 21:42:06.73ID:???
ケースバイケースだな。
何度も使う場合は書くけど、そうでない場合はコントローラで済ます
0065602012/05/22(火) 01:03:15.16ID:???
>>64
ありがとう。

複雑なクエリや、他のコントローラーから呼ぶようなやつはファットモデルにするよ。
規約は守ってもフレームワークだからって型に縛られないようにするよ。
0066nobodyさん2012/05/22(火) 02:11:52.42ID:???
>>61
テーブルに変更が加えられたかどうかをチェックしてしまったらキャッシュしている意味がなくなるから原理的にそれは出来ないんじゃないかな
俺は手動で消してる
0067nobodyさん2012/05/22(火) 02:26:56.79ID:???
ランキングやトピックスは随時更新じゃなくて、一定期間で更新だよな
一定期間毎にキャッシュを作っていると思うけど、その形で良いと思う
0068nobodyさん2012/05/22(火) 05:21:12.26ID:???
>>66
手動でどうやって消してますか?
全部消せば簡単だけどそうすると今アクセス中の客のセッションデータが吹っ飛ぶ
更新したいキャッシュだけ消す簡単な方法あります?というかどのキャッシュを消せば良いのか
0069nobodyさん2012/05/22(火) 10:21:13.32ID:???
それはマニュアル見ろとしか言えないな
0070nobodyさん2012/05/22(火) 12:26:33.17ID:mOE2ZVav
フォームによってモデルの必須条件を適宜変えたいんだけど、どうしたらいいんだろう
0071nobodyさん2012/05/22(火) 12:58:54.36ID:???
>>70
2.2で ModelValidatorを使う
http://book.cakephp.org/2.0/en/models/data-validation.html

もしくはいくつかバリデーションルールを作っておいて、コントローラーでvalidateのフィールドを指定する
http://book.cakephp.org/2.0/en/models/data-validation/validating-data-from-the-controller.html

て感じかしらん
0072682012/05/22(火) 14:05:53.81ID:???
んー、なんか今Cakeのマニュアル見れないなあ
なんか見れるページと、見れないページがある、どうなってんだ
とりあえず助言ありがとう
0073nobodyさん2012/05/22(火) 14:21:04.35ID:???
しかもDB構造のキャッシュについては載ってなさそうだなあ
仕方ないソース見るか…
0074nobodyさん2012/05/23(水) 18:18:16.24ID:???
1.3で開発してるアプリケーションを2.xに変更しようと思ってるんだけど大変かな?
コントローラ20個、モデル15個ぐらいの規模なんだが
パッと手直しするだけで移行できる?
0075nobodyさん2012/05/23(水) 18:26:46.04ID:???
もう少し様子見た方が良いと思うけどな。今は情報少ないだろ
自分だけで使うなら別だが、仕事だと1.3で良いと思うよ
0076nobodyさん2012/05/23(水) 22:27:57.51ID:???
コントローラー3個のサイトでさえ移行めんどくさい
でも新規サイトは2.xで作ってるから古いサイトのメンテナンスするときに混乱する
でも移行したくない
0077nobodyさん2012/05/24(木) 17:42:05.60ID:???
2.1を使用中です。

例えば$tmp = "5,2,3,4,1"と言う並びを記憶した文字列があったとします。

それを$id_order = explode(',",$tmp);として、
$this->Hoge->find('all',array('conditions'=>array('id'=>$id_order)));
として読み出します。読み出し自体は5件、ちゃんと拾ってきます。

ただこの場合、そのままだとid順に並び変わってしまうんです。
(この場合だと 1 2 3 4 5 に並び変わってしまう)
そのまま5,2,3,4,1の順を保持するようには出来ないのでしょうか?
queryで id IN (5,4,3,2,1)も試してみたのですが、やはりID順で並び変わってしまいます。

Hogeそのものにorder用のフィールドを準備して並び替えれば当然出来るんですが・・・

今は配列を全部読んで新たに配列を作成するという力技でやっているのでうまい方法は無いかと思いまして・・

Cakephpとは関係ない様な気もしますが参考意見でもあれば宜しくお願いします。
0078nobodyさん2012/05/24(木) 18:35:37.61ID:???
>>77
SQLはorderを指定しないと読み出し順は保証されないよ
たまたま1,2,3,4,5になるかもしれないし、そうでないかもしれない。
だからちゃんとfindのオプションでorderを指定すべき
0079nobodyさん2012/05/25(金) 19:14:24.25ID:???
2.0で組んでます。
Componentから呼び出した、他のComponentのinitializeが、
実行されないんだけど、実行されるようにする方法はないですか?
0080nobodyさん2012/05/25(金) 19:20:46.92ID:/BxfQcHO
勉強しはじめの者です。

XAMPPを起動させて、webrootフォルダの中のindex.phpにログインは出来るし、
index.phpを他に移動させて前の場所のアドレスを入力すると見えなくなるのですが
(http://localhost/cake/sample/index.php)

webrootフォルダの中にindex.htmlやindex2.php等を作って、
http://localhost/cake/sample/index2.php をブラウザで表示させようとしても表示できません。

これはなぜなのでしょうか?教えていただけると助かります。
0081nobodyさん2012/05/25(金) 19:51:57.57ID:???
>>80
普通は表示できると思うんだけど。
Apacheのエラーログ見たら?
0082802012/05/26(土) 00:55:32.99ID:???
>>81様

レスありがとうございます。
エラーログで分からなかったので、XMAPPもCAKEPHPもインストールし直したら解決しました。
0083nobodyさん2012/05/26(土) 13:28:16.83ID:???
>>70-71
これを1.3で実現したいんですけど、何か方法はありますか?
0084nobodyさん2012/05/26(土) 16:30:05.31ID:???
id以外のPrimaryKeyを指定できるのは、2系だけですか?
0085nobodyさん2012/05/26(土) 18:04:32.93ID:???
>>84
1系でも出来る
0086nobodyさん2012/05/27(日) 00:59:00.50ID:???
>>78
おっしゃるとおりです。

あれから調べた所、MySQLである限りはorder by fieldが使用できるので、
http://cakebaker.42dh.com/2008/06/10/order-by-field/
の形でやればいちいち取得後に並び替え処理しなくても
最初から指定の順で並び替えた状態で取得できそうです。

ありがとうございました。
0087nobodyさん2012/05/28(月) 15:42:04.62ID:???
JsonView だと Forbidden になる現象遭遇した人いませんか?
2.1 です。
0088nobodyさん2012/05/28(月) 21:49:33.64ID:???
Apache の MIME type が原因でした。
0089nobodyさん2012/05/30(水) 00:22:24.86ID:???
本を見て勉強中なのですが

<?=$form->create(null,array('type'=>'post','action'=>'.')) ?>

等のように、
<?=
から始まるコードがあります。これをこのまま本の通りに入力するとエラーになってしまうのですが

これは、
<?php echo
と同じ意味なのでしょうか?

「<?php echo 」と書くと長いから「<?=」と書いているけど、コードを書くときは「<?php echo」に直してね
っという事なのか
私の書き方や設定がおかしいから「<?=」でエラーが出るだけで、何かをすれば「<?=」でもエラーが出ないのか?

教えていただけると助かります。よろしくお願いします。
0090nobodyさん2012/05/30(水) 01:40:42.57ID:???
流れ関係ない質問ですが
マニュアルに書いてないことを知るには、ソースを読めですか?
0091nobodyさん2012/05/30(水) 02:22:35.21ID:???
>>89
cakeは関係ない。php自体のshort_open_tag設定

>>90
生ソースの前にAPI一覧を見るといいよ
こんなメソッドあったのか。なんてのも結構あるし。
それで使い方気になったらソース見ていく。って感じで俺はずいぶん勉強になったよ
0092nobodyさん2012/05/30(水) 14:54:21.85ID:???
バリデーションの切り替えの質問したものだけど、
$this->User->validates(array('fieldList' => array('email', 'password'))
こういう方法もあるんだね。
これでよかった。
0093nobodyさん2012/05/30(水) 15:08:29.89ID:???
ちなみに1.3で日本語のブックには載ってない方法だった
0094nobodyさん2012/06/01(金) 10:14:16.75ID:???
saveした際にvalidate errorだとviewのformに値が自動的に戻ります。
hasMany tableをsaveAllした際のvalidate errorだと、formに値が自動的に戻りません。

saveAllのvalidate errorの場合は手動でformに入力値を展開するものですか?
流儀があれば教えて頂きたいです。
0095nobodyさん2012/06/03(日) 01:26:40.50ID:???
bakeというものを使おうとしたのですが

コマンドプロンプトでパスを設定後、
cake bake でデータベース設定しようとすると
最後にエラーになってしまいます。

Look okay? (y/n)
[y] > y
Do you wish to add another database configuration?
[n] > n

Creating file c:\xampp\htdocs\cake\baking\myapp\config\database.php
Wrote `c:\xampp\htdocs\cake\baking\myapp\config\database.php`

どうしたら直るでしょうか?教えていただけると助かります。
よろしくお願いいたします。
0096nobodyさん2012/06/03(日) 02:03:55.13ID:???
>>95
エラーはどこ?
0097nobodyさん2012/06/03(日) 05:21:06.99ID:???
>>96
95の頭
0098nobodyさん2012/06/03(日) 13:48:18.75ID:???
あ?エラーが出てるならエラーメッセージを貼れつってんだよ
0099952012/06/03(日) 15:48:10.86ID:???
失礼しました。

Creating file c:\xampp\htdocs\cake\baking\myapp\config\database.php
Wrote `c:\xampp\htdocs\cake\baking\myapp\config\database.php`

ではなく

Fatal error: Class 'DATABASE_CONFIG' not found in C:\xampp\htdocs\cake\baking\ca
ke\console\libs\tasks\db_config.php on line 260

でした。
0100nobodyさん2012/06/03(日) 16:18:04.08ID:???
でーたべーすこんふぃぐがねえんじゃねえのー?
0101nobodyさん2012/06/04(月) 11:18:57.14ID:???
ええ・・・
$form->input()
でしかエラーを自動で表示してくれないって知ってた?
$form->radio()
じゃ表示してくれない。

今初めて知った・・・めちゃハマってたわ・・・くそが
バーションは1.3
0102nobodyさん2012/06/04(月) 16:16:23.03ID:npZV9BUE
radioでも何も選択されてない状態でsubmitすればエラー出るんじゃないの?
01031012012/06/05(火) 03:40:59.31ID:???
>>102
出なかったよ
0104nobodyさん2012/06/06(水) 09:28:58.59ID:KukcN70n
さくらインターネットを使ってるんですが、サブディレクトリでCakePHPを運用したい場合可能ですか?
RewriteBaseをいじくりまわして、
ググってありとあらゆるパターンを試してみたんだけど
どうやっても500エラーが出てできない・・・
0105nobodyさん2012/06/07(木) 00:31:59.74ID:???
htaccessじゃなくてindex.phpの設定だけでサブディレクトリ運用できたような記憶が
500出てるってことはhtaccessの記述が間違っているっぽい
0106nobodyさん2012/06/07(木) 01:11:37.96ID:???
直接Cakeに関係ないならすみません。
バージョンは2.1です。

cakeフォルダを作成してそこに配置したとします。
通常だとブラウザのアドレスバーにはhoge.xx.yy/cake/controller/actionと成るわけですが、
それをhoge.xx.yy/controller/actionと表示するようには出来ませんか?
(見た目だけで良くて、アドレスバーに入力してその通りに動作する必要はありません)

ネットでhtaccessというかRewriteのページをかなり見たのですが、見た限りは上で言うcontroller/action/*1/*2の順番というか、パラメータの記述方法を変えたりするような方法ばかりでした。

何かヒントになるサイトとかでも良いのでご指導頂けませんでしょうか?
0107nobodyさん2012/06/07(木) 01:41:54.69ID:???
PHP素人(触り始めて数日)ゆえ質問がCakePHP固有じゃなかったらすみません。

あるカテゴリキーワード(可変数。10個前後)が格納されたDBテーブルが
あって、さらに別のテーブルにはカテゴリキーワードごとのトッピックスが
1000個程度登録されています。

トップページで各カテゴリキーワード毎にトピックを5件だけ表示させたいの
ですが、やり方がわかりません。
カテゴリキーワードを取ってきて表示されるだけなら、findAllで取ってきて
VIEW内でforeachでまわす事で実現できました。

foreachのループ内で、現在着目中のカテゴリキーワードで詳細テーブルから
5件だけ取ってくる方法が分かりません。
トピックを全レコード事前に取得しておいて、viewの中で無理やりキーワー
ドが一致するものを5件だけ表示させる方法は思いつきますが、もっとスマー
トな方法はありませんでしょうか?
0108nobodyさん2012/06/07(木) 02:31:59.60ID:???
>>106
htaccessで書き換えられないこともないだろうけど推奨されてないだろうし不具合の原因だからやめた方がいいよ
app/webrootをウェブルートに置けない理由はあるの?

>>107
アソシエーションを学ぶんだ
一発でカテゴリキーワードごとにトピックスを5件とってこれる
0109nobodyさん2012/06/07(木) 04:44:57.83ID:???
PHP全般の問題なのか、CakePHP固有の問題なのか判断できないような人は、
判断できるようになってから質問しろよ
01101042012/06/07(木) 07:36:24.96ID:T3CmHb0t
>>105
index.phpの設定ってどのindex.phpでしょう??
ちなみにどのように設定すると良いのが教えていただけると幸いです
0111nobodyさん2012/06/07(木) 11:41:22.43ID:???
>>108
返答ありがとうございます。
単純に今現在すでにHPがあり、機能追加をする形でcakeを使用するのですが、
現状appフォルダがすでにあるのでと言う理由だけです。
既存フォルダ名の変更が不可の為、フォルダを作って・・と言うのを考えてたのです。
既存フォルダ名の変更不可というのはURL的に見た目がappじゃないとまずいということでして、サーバ上はapp2とかにしてもURLの見た目がappになればOKなんです。

どうすればよいかわからなかったので先ほどの質問として書いたと言う訳なんです。
0112nobodyさん2012/06/07(木) 12:11:49.60ID:???
単純な結合(とはちょっと違うけど)にいちいちアソシェーション使うくらい
ならDB側にView作ってしまいたくなるんだけど、そういう人はいないの?

まあ、実装箇所が複数に分かれるデメリットもあるのでビュー禁止ってとこも
結構あるけど。
0113nobodyさん2012/06/07(木) 14:50:42.40ID:???
htmlヘルパーのnestedListで、li要素ごとにclassを変えたい場合はどうすれば
いいんでしょうか?
0114nobodyさん2012/06/07(木) 21:27:01.49ID:???
>>111
そもそもappをドキュメントルートに置いちゃダメ。
webrootをドキュメントルートにおいて
それ以外はwebroot以外に配置する。
0115nobodyさん2012/06/07(木) 21:28:11.55ID:???
ごめん、ちょいミスった

>>111
そもそもappをドキュメントルートに置いちゃダメ。
webrootをドキュメントルートにおいて
それ以外はドキュメントルートの外に配置する。
0116nobodyさん2012/06/08(金) 02:27:11.80ID:RAatNy5a
>>110
app/webroot/index.php
もちろんここがウェブルートになるように設置しないとダメだよ

>>111
まず>>115の言うようにapp/webrootをドキュメントルートに置かないとダメ
サーバーの設定でドキュメントルートが変更できない場合の対策は、xrea、コアサーバー、さくらあたりでのノウハウがいっぱいあるから
それを調べて実行するとよい

>>112
規約に沿うのがフレームワークだからDBはモデルで扱うしか考えたことがないなあ

>>113
俺はなんか実装めんどくさそうならHTMLで書いちゃうわ
01171042012/06/08(金) 09:16:24.94ID:u8Vc96TE
>>116
ありがとうございます。
ウェブルート=ドキュメントルートってことですか?
01181042012/06/08(金) 09:16:57.73ID:???
>>117
あ、全部読んでませんでした。
そういうことですね。
もうちょっと試してみます。
ありがとう!
0119nobodyさん2012/06/08(金) 13:58:30.27ID:???
>>113
1ずつ全部変えるのは無理だけど
itemOptionsで、even,oddの指定を入れると、奇数行、偶数行のクラスは指定できる
続きはソースで…
01201112012/06/08(金) 16:35:33.96ID:???
>>114 >>116
私のフォルダ配置に対する理解が足りなかった訳ですね・・

レス頂いてから試してみました。
wwwの下にフォルダを作成してそこにappやlibなどのファイルを配置。
でwebrootフォルダの中身をwwwに置いてindex.phpを触れば(ROOTとかの位置を指定すれば)ちゃんとcakeとして動作してくれたのは確認できました。

home
|--ユーザアカウント
|
|--cake
| |--app
| |--lib
| |--・・・その他
|
|--www
|--css
|--img
|--js
|--index.php

のような感じで動作したのは確認できました。

でもう一つ疑問がわいてきましたが、先の話で既存のHPがある場合、index.phpとindex.htmlがかぶることになります。
今回もそのパターンで、ネットでさくらにインストールした場合を探してみるとwwwよりhome側に置くのはよく出てるのですが、
どれもwwwに一つフォルダを作成してそこに元のwebroot内のデータを置いてる感じでした。

動かしてみましたがindex.html index.phpの優先になってる方が起動するだけでした(当たり前ですが・・)

今回のようにcakeのindex.phpと元のindex.htmlがあるような場合はどのようなやり方がありますか?
01211112012/06/08(金) 16:36:54.35ID:???
>>120
あああ、すみません。
書き込んだらスペースが削除されちゃいました。
cssから下はすべてwww内とのつもりです。

宜しくお願いします。
0122nobodyさん2012/06/09(土) 00:03:03.20ID:7iLO1txZ
>>120
いまwwwになってるところをwww/cakeとかにすればいいんじゃないの?
htaccessの修正も必要になるかもしれないけど
俺なら既存のファイルが全部スタティックならcakeに統合しちゃうけどな
0123nobodyさん2012/06/09(土) 16:53:54.98ID:u4onJvJp
バージョン上げたら、Eclipse+PDTでヘルパーの補完できなくなったorz
$this->Http->
補完する方法ないのですか?
0124nobodyさん2012/06/13(水) 23:54:08.72ID:???
nanapiが訪問者1000万とかでインタビュー記事が出てたけど、
Cakeで作ってるんだろ?どうやってアクセスこなしてるんだろ・・・
キャッシュ使えばパフォーマンスは気にならないのかな
0125nobodyさん2012/06/14(木) 00:07:28.83ID:???
>>124
記事のページとかPV稼いでいる部分は生PHPで書いて、それ以外のあんまりPVないところはCakePHPで作ってるって話をしていた気がする
30万UU/monthくらいのサイト持ってるけど、ビューキャッシュだけで共用レンタルサーバーでも余裕でさばけるから、
パフォーマンス追求しなければキャッシュだけで十分いけると思う
後はスケーリングの問題だな
0126nobodyさん2012/06/14(木) 01:40:16.19ID:???
>>125
記事ページもcakeっぽいルーティングなんだけど生PHPなの?
うまく工夫しているのかな。凄いな。
0127nobodyさん2012/06/14(木) 02:08:15.49ID:nFrC9cht
>>126
別にそれは記事ページだけならReWriteして1行で変更できるでしょ
0128nobodyさん2012/06/14(木) 02:23:56.37ID:???
普通にwebサーバを複数台並べてるだけじゃないの?
0129nobodyさん2012/06/14(木) 12:33:43.22ID:???
CakePHPのAuthコンポーネントを使ってますが、よくあるような

ユーザ仮登録
↓
メール
↓
メールに記載されたURLクリック
↓
本登録

という流れの中で、本登録ページが正しく表示されたらログイン後状態に
したいです。controllersの内部で認証後状態にするにはどうすればいい
でしょうか?
0130nobodyさん2012/06/14(木) 12:52:02.54ID:???
loginメソッドに引数渡す
0131nobodyさん2012/06/14(木) 13:20:39.06ID:???
>>125
UUじゃなくてPVで語れよ
0132nobodyさん2012/06/14(木) 20:56:45.56ID:???
>>131
>>124に併せてUUを書いたけど、PVは60万くらい
0133nobodyさん2012/06/14(木) 21:34:54.69ID:???
>>132
少なすぎないか?
月30万UUって、1人が2ページしか見てないって事だろw
0134nobodyさん2012/06/14(木) 22:42:24.08ID:???
就職を控えた学生の間で、ブラック企業探しが流行し、中には流されてしまう人もいるらしい。サービス残業の多い会社や有給休
暇を取れない会社のことを指しているようだ。僕自身、「違法な只働きの多い会社はどこですか?」なんて質問はよく受ける。だ
が、はっきりいってみんな甘い。甘すぎる。そんなのブラックでもなんでもなくて、日本企業なら当たり前の話なのだ。「フラン
スやドイツより年間300時間程度は長時間労働で、有給休暇も消費せず、辞令一枚で全国転勤」というのは、日本が世界に誇るカ
ルチャーである。日本は今でも終身雇用が建前の国である。いつ潰れるかわからないような中小の下請け企業ならともかく、普通
の会社では解雇なんて不祥事でも起こさない限りは行われない。もちろん、こういう楽ちんなシステムを維持するためには、それ
なりの工夫が必要だ。まず、一定の残業は大前提だ。新規採用の代わりに残業でカバーしておけば、不況時に残業カットで人件費
を抑えられる。有給休暇が取れないのも理由は同じだ。全国転勤なんて制度があるのは日本だけだが、これも終身雇用を維持する
ためのものだ。つまり、人事部がハローワークの代わりに社内の空きポストを見つけ、再就職の斡旋をしているようなものなのだ。
であるため、大手優良企業ほど、残業も転勤も有給取得制限も確実に存在するし、雰囲気的に文句は言えない。たまに、日本企業
の労組が「組合員の長時間残業や転勤を黙認している」といって非難する人もいるが、ちょっと違う。すべては終身雇用システム
を守るための、やむを得ない副産物なのだ。たまに「勇気を持って拒否できないんですか?」という質問も受けるけど、そんなこ
と主張して村八分に耐えるだけの強靭な精神力があるなら、最初から年俸制の企業に行って頑張ることをおススメする。ところで、
真のブラック企業とは何だろうか。それは上記のロジックからすれば明らかだろう。最初から終身雇用を守るつもりも、成果に応
じた年俸を上乗せする気もなく、長時間残業が当たり前で有給も取れない会社のことだ。新卒の時点でそういう会社に遭遇するこ
とは「滅多に」ないし、入ったら入ったで何年か修行して転職すればよいだけの話なので、入る前からあれこれ心配する必要は無
い。最悪なのは右往左往した挙句、内定無しで卒業してしまうことだというのはおぼえておくといい。
0135nobodyさん2012/06/15(金) 01:24:50.42ID:???
>>133
直帰率高いからな
趣味だから特に施策もしてないし
0136nobodyさん2012/06/18(月) 09:29:52.49ID:???
formのcreateの際の第一引数をnullにしても、form->inputが生成したhtmlを
見るとpostデータにmodel名が含まれてしまう事があるのですが、postデータ
にmodel名を含ませないように出来ないのでしょうか?

<input name="data[test]" type="text" value="" id="test" />

こうなる場合と

<input name="data[models][test]" type="text" value="" id="test" />

こうなる場合があります
0137nobodyさん2012/06/18(月) 09:55:08.10ID:???
自己解決
nullじゃなくてfalseにすれば期待した動作になりました
0138nobodyさん2012/06/20(水) 20:53:26.92ID:???
Cakephp歴2年 CodeIgniter歴1年 ZendFramework歴2年

の俺が言う

Cakephpはやめとけ
0139nobodyさん2012/06/20(水) 21:44:38.57ID:???
人がいないと駄目ってウメハラが言ってた
0140nobodyさん2012/06/20(水) 21:45:23.02ID:???
>>138
おすすめ教えてよ
0141nobodyさん2012/06/20(水) 22:13:18.78ID:???
ダメな理由くらい言えw

Cakeは国内の知名度だけはいい線いってるよ
0142nobodyさん2012/06/21(木) 00:32:08.42ID:???
やっぱり知名度が一番重要だよ
いくらFUELPHPが凄くても一人で細々とやっててもねぇ

あ、英語できるならいいけど
0143nobodyさん2012/06/21(木) 01:35:20.48ID:???
OSSだと知名度つうか使う人が多いと開発陣のモチベにも関わってくるしね
2.2ももうすぐ出そうだし、最近のCakeは順調…すぎてついていけなくなってるけどw
0144nobodyさん2012/06/21(木) 01:40:37.49ID:???
>>140
Yii一択
使えば使うほど楽しい
0145nobodyさん2012/06/21(木) 02:16:55.75ID:???
mysqlとの組み合わせで、外から与えた変数で取得結果を変えたいです。
レコードのとあるフィールドの値で取得結果を変えるなら

select
 case field1 when 0 then 'ぬるぽ' else field2 end
from tblA;

こんな感じでSQLの記述だけで完結出来るんですが、外から与えた変数で
同じような事を簡単に出来ないでしょうか?

取得結果は最終的にはviewで表示するのですが、
view内でforeachで回す際にループごとに条件判定をして…という方法は避
けたいです(viewにあまりゴテゴテとロジックを書きたくないので)

0146nobodyさん2012/06/21(木) 08:42:57.93ID:???
>145
mysqlならIFって関数があるから、fieldsかモデルの$virtualFieldsで、

"IF(Model.field1 = 0 , 'ぬるぽ' , Model.field2)"

って書いてる。条件が複数あるなら入れ子でもいける。
0147nobodyさん2012/06/21(木) 13:31:33.73ID:???
>>144
お前そればっかりだな
どこがいいとか具体的なこと教えてくれよ
0148nobodyさん2012/06/21(木) 18:17:56.38ID:bhjX0YXl
>>144
コードイグナイタ

見通しが良いから
01491482012/06/21(木) 18:18:47.19ID:bhjX0YXl
140と間違えた
0150nobodyさん2012/06/21(木) 19:08:33.82ID:???
cakephpで有用なのはSetのみ
0151nobodyさん2012/06/21(木) 19:49:36.93ID:0C9bmUAd
>>150
廃止されるで
■ このスレッドは過去ログ倉庫に格納されています