モデルでbegin()とかやってはいけない気がする。 Overloadableを継承してるので、メソッドが定義されていない場合は call__()がコールされる。 ベヘイビアとか登録してたらそっちが呼ばれるけど、通常は使わないと思うので データソースのquery()が呼ばれる。 query()内では、メソッドをテンプレートとして引数をバインドしてSQLとして呼ぶと思うので、 begin()とかやると、"BEGIN"というSQLがコールされる。 PostgreSQLだとまさにこれはトランザクション開始のコマンドなので 動作してるように見えると思われる。 でもね。データソースにはちゃんと begin() commit() rollback() っていうメソッドがあるからこっちを使うはず。 モデルのsaveAll()内でもそうしてる。 ということで、モデルにメソッドがないのが困ったけど、以下で解
確認画面等で入力値を表示するのにHtmlHelper#tagValueを使っています。 これは内部でHTMLタグをエスケープしてくれるので重宝していたのですが、1.1.15.5144から、このメソッドにエスケープするか否かを表すフラグが追加されました。 [cake/libs/view/helpers/html.php] <?php function tagValue($fieldName, $escape = false) { ?> 困った事にデフォルトではfalseになっているので、従来の[$html->tagValue(‘Foo/bar’);]のような使い方をしているとHTMLタグがそのまま出力されてしまいます。1.1.15.5144以降(昨日リリースされた1.1.16.5421も含む)でHTMLタグをエスケープするには以下のように第2引数にtrueを指定しなければなりません。 //
webの仕事をしながら家でもwebサービスとかを作ったり作らなかったり、成長と挫折の記録・・・かもしれないcakephpを最近よくいじるのでその備忘録 App::import('HttpSocket'); App::import('Xml'); $http=&newHttpSocket(); $xml=&newXML($http->get('http://www.sj6.org/feed/')); $xml=Set::reverse($xml); pr($xml); ほら、簡単でしょ! と思ったら、こういう方法もあった uses('Xml'); $xml = new XML("http://www.sj6.org/feed/"); $xml_array = Set::reverse($xml); pr($xml); 楽チンやね。
続きです。続けられました(1週間空いたけど)w 登録フォームの次は確認画面の表示です。厳密に言えば入力チェックが挟みますが、ひとまず確認画面ってことで。 確認画面の表示 <input type=”hidden” …/> の自動生成 といった内容になっています。 確認画面、それは入力した内容を確認のため表示するという至極単純なページ。 単純なわりに、フォームと似て非なるものをつくるため工数がかさみます。 CakePHPではそこがちょっとは楽になるかなーと思ったのですが、特にこのありがちな流れを補完するような機能はないようですね。orz とはいえ楽な部分もあります。 フォーム表示では、テキストボックスなどを表示するのに Htmlヘルパーを利用して、 氏名: < ?php echo $html->input('Member/name'); ?> フリガナ: < ?php echo $html->
CakePHP 1.1.13.4450 + PHP 5系 + MySQL 4.1系にてテスト Job モデルは com_id フィールドがあって Com モデルに belongsTo Job を一覧表示するときに Com の name フィールドも表示したい Job.idJob.nameJob.com_id 1仕事A1 2きつい仕事2 3楽な仕事1 Com.idCom.name 1会社A 2会社B というデータから、 Job.idJob.nameCom.name 1仕事A会社A 2きつい仕事会社B 3楽な仕事会社A こんな感じの一覧を表示したいわけです。どうするのが効率が良いか。まず、Job モデルのアソシエーションを以下のように設定。 <?php class Job extends AppModel { var $name = 'Job'; var $belongsTo = array(
CakePHP1.2 RC2 SSL接続を必須にするには Security コンポーネントを利用します。 class SampleController extends AppController { var $components = array('Security'); function beforeFilter() { // エラー時の呼び出し関数指定 $this->Security->blackHoleCallback = '_sslFail'; // 全アクションを SSL の対象にする $this->Security->requireSecure(); } /** * SSL呼び出しエラー処理 */ function _sslFail($err) { if ($err === 'secure') { $this->redirect('https://**********.com/
hal456トップページ 注意! 本業が忙しいため、私は開発・更新には関わっていませんし、ご質問にも対応しておりません。 下記のURLの方々が、引き継いでいただいているので、どうぞそちらをご利用ください。 ライセンスに従えば改変は自由ですが、本ホームページでのダウンロードは停止いたします。使い方などについては、参考にされる方もいるかも知れませんので、当面の間、残しておきます。 長らくのご愛顧、誠にありがとうございました。 自分が作成したプログラムが、多くの方に便利に使われたことは、とてもうれしかったです。 2018/1/28 深謝 QdmailをPHP7.0に対応させる Qdmailシリーズのgithub版です。PHP5.4対応 qdmailを新しめのPHPでも動くようにした Qdmailとは Qdmailとは、PHPのマルチバイト環境(特に日本語)にて、「文字化けしない」「簡単に"デコメ
イベント・セミナー集客プラットフォーム 「こくちーずプロ」を使えば、驚くほど簡単で安全なイベント告知・集客ができます。誰でも使えるシンプルさ、とことんまでイベント集客の手助けができる拡張性、大規模なイベントの大量な申し込みも安心して受付ができる高機能を併せ持っています。 一般的なイベントだけでなく講演会や、定期的に開催する地域セミナー、クローズドな社内勉強会、大規模な学会など様々なイベント形態にあわせた募集が可能です。 サービスのトップへ セミナー会場検索サービス 「こくちーずスペース」は、イベント・セミナーの開催に適したセミナー会場(貸し会議室・ホール)を所有する全国2,700箇所以上の公共施設を掲載!リーズナブル・格安で安心して利用できる貸し会議室やレンタルスペースを中心にイベントの規模や設備など目的にあった施設を簡単に検索できます。 今まで見つけにくかった公共施設の詳細な情報をまとめ
PHPのスーパーグローバルの値をどのように参照すれば良いかまとめてみました。 Controller#dataやアクションメソッド引数のようにフレームワークで想定された使い方をしている分には特に問題無いのですが、ちょっと他のことをやろうとすると、どこに値が格納されているか分からず困った事がありました。 # もちろん$_GET/$_POSTを使えば値は取れますが、せっかくのフレームワークなのでなるべくその中で値を使いたいものです。 1. $_GET $_GETの値はController#params[‘url’]に格納されます。 ちなみに$_GET[‘url’]はURLルーティング(リクエストURIからコントローラ・モデル等を決定)で、$_GET[‘file’]は[app/webroot/js/vendors.php]で参照されています。 [http://example.com/foo/ind
CakePHPでは$html->link()を使うとリンクをはることができて、$html->image()を使うと画像タグをはることができる。 ということは画像にリンクをはることもできるはずだし、「できるよ」とリファレンスに書いてあるのだけれども、どうしても$html->iamge()の画像タグがエスケープされてしまう。 なんでだろうと思ってじっくりリファレンスを見たら$html->link()の第5引数が$escapeTitleになってた。 てことで以下のように第5引数をflaseにすれば画像にリンクを張ることが可能。 <?php echo $html->link($html->image("test.png"), '/',null,null,false);?>
PHP, CakePHP, JavaScript, スタイルシート(CSS), ホームページ製作, etc. Web関連の話題を扱っています。 CakePHP導入による「相対パス→汎用の絶対パス」変換がややこしいのでまとめてみました。 --- 普通のアンカータグによるリンク <a href="abc.html">テスト</a> ↓ <?php echo $html->link("テスト","abc.html") ?> または <a href="<?php echo $html->url("abc.html") ?>">テスト</a> --- 画像 <img src="./img/abc.jpg" alt="テスト" /> ↓ <?php echo $html->image("abc.jpg", array("alt"=>"テスト")) ?> または <img src="<?php echo
一つのアクションで関連づけされたテーブル(Aiueoモデル hasmany Irohaモデルという関係)を同時にsaveする時のメモ。 以下のように、複数のテーブルにsaveが出来ると思ってたら、Irohaモデルの外部キーを自動で登録してくれなかった。 class AiueosController extends AppController{ /* * 省略 */ $data = array( 'Aiueo' => array( 'name' => $this->data['Aiueo']['name'], 'tel' => $this->data['Aiueo']['tel'], ), 'Iroha' => array( 'name' => $this->data['Iroha']['name'], ) ); $this->Aiueo->save($data) } 以下のようにしてsav
► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く