[cakephp]謎のJavaScriptエラーで、本物のエラーが見れない
Notice: Undefined variable: javascript in hoge\cake\app\views\elements\header.thtml on line 10
Fatal error: Call to a member function link() on a non-object in hoge\cake\app\views\elements\header.thtml on line 10
こんなエラーで長らく無意味な苦労してました。
原因は、必要なJavascriptヘルパーの宣言をしていないから。
こんな時は、下記みたいにコントローラー全部に宣言してしまいましょう。
cake/app/app_controller.php
var $helpers = array(‘html’,'javascript’,'Pagination’);
こんなことできるなら、早くやってればよかったー。
[cakephp]定数の定義をするのに最適なとこ
define(‘URL’,'http://www.hoge.com/’);
こんな感じでURLなど定数で定義してあると、開発環境が違うときに大変便利ですよー。
ということで、cakephpはどこで定数を定義すればよいのか。
アプリ全体→app/config/bootstrap.php
コントローラ→app/app_controller.php
モデル→app/app_model.php
[cakephp]findAllByでorderしたい
基本的には下記findAllと同じらしい。
Model::findAll($conditions = null,
$fields = null,
$order = null,
$limit = null,
$page = 1,
$recursive = null
)
つまり、
$model = $this->Model->findAllById($id,null,’created DESC’);
これも知ってるか知らないかで差が出ますねー。
[cakephp]findByで複数条件の指定
あらー、もっと早く気づけば良かった。
大変便利だ。
$this->Model->findByIdAndName( $id, $name )
追記(07/11/13)
PHP4の場合は
$this->Model->findById_And_Name( $id, $name )
アンダーバーが入ります。
ローカルはPHP5、運用はPHP4、そんなアンバランスな開発やってると勉強になりますね(笑)
[cakephp]cakephpの命名規則に従わなかったツケがやってきた
最近はもっぱらフレームワークで開発する機会が多くなりました。
現在Cakephpでポータルサイトを開発しているのですが、、、
Read more













