CakePHP2.x

Missing Database Tableエラー

Table mychuno_users for model MyChunoUser was not found in datasource default.CakePHP2.3.2ではModelにuseTableを明記しなくても発生しなかったが、2.5.5では明記しないとエラーが発生した。 ということで、useTableを追記。

チェックボックス毎のタグをCSSで制御する

必須入力としている複数選択チェックボックスをFormヘルパーのinputで作成。 オプションで「'div' => false」としても、チェックボックス毎のdivが消えない。 <div class="input select required"> というタグ。「必須入力のチェックボックスにはデフォルトで注意文言を付ける」 といった処理がl</div>…

ファイルアップロードとバリデーション

拡張子によるバリデーション Model array( 'extension' => array( 'rule' => array( 'extension', array('jpg', 'jpg', 'pdf'), ), 'message' =>'ファイルのタイプが違います' ), ), ); View typeにはfileを指定 Form->create( 'モデル名', array( 'type' =…

【CakePHP2.x】Hashあれこれ

コードがシンプルになる 'マッチャ'を使うと細かい条件指定が可能 array(5) { ["id"]=> string(1) "1" ["label"]=> string(5) "hchuno" ["status"]=> string(6) "有効" } [1]=> array(5) { ["id"]=> string(1) "3" ["label"]=> string(7) "mychuno" ["statu…

Ajaxを使ってPOST送信

jQuery $.ajaxでデータを送る 構文 $.ajax({ type: 'POST', url: CakePHPのAction名, data: { '渡したいデータ名': データの値 }, success: function(response) { } error: function(xhr, status, error) { } /* xhr.status:エラーコードを確認できる statu…

テストコードあれこれ

Composerを使ってPHPUnitをインストールする composer.jsonの中身 "require-dev": { "phpunit/phpunit": "3.7.*" } composerのインストールコマンドを叩いてPHPUnitをインストール $ ./composer.phar install --dev PHPUnitがインストールされたかどうかを確…

プリペアドステートメントでWHERE INを使おうとしたが…

ToDo プリペアドステートメントのIN句のところに、カッコで囲まれたプレースホルダを書く プレースホルダにはカンマ区切りの文字列を渡す 例 $mychuno_ids); $result = $this->query($sql, $p…

Shellの実行あれこれ

コマンドラインで実行 $ /var/www/hogehoge/app/Console/cake シェルクラス名 cronに設定($ crontab -e)して実行 */10 1-21 * * * /var/www/hogehoge/app/Console/cake シェルクラス名 Chefにcronの設定を書いて実行 cron 'hogehoge_cron' do action :create…

INNER JOINする時の注意点

$contains, 'conditions' => $conditions, 'joins' => array( array( 'type' => 'INNER', 'table' => 'mychuno_users', 'alias' => 'MyChunoUsers', 'conditions' => '◯◯◯…

CakePHP2系あれこれ

セレクトボックスの実装方法 書き方 ビュー側 Form->input('セレクトボックスのラベル', array('type'=>'select', 'options'=> 要素の配列 ) ) ?> selectedを使えば初期選択状態を作成できる。 onchangeを使えば「選択後に即POST送信」といった使い方も可能…