開発

BootStrap

CakePHP4にBootstrap4を組み込んでみる

CakePHP4にBootstrap4を組み込む方法はいくつかあるかと思います。 単純に、Bootstrapをダウンロードしてきて、webrootに配置。layoutファイルなどで読みこませるだけでも使うことは可能ですが、今回はプラグイン...
CakePHP3.x

コントローラーから直接画像を出力させる

今回は、コントローラーから画像を出力させる方法をご紹介します。 画像をファイル出力してリンクさせる方法もありますが、一時的な画像の場合は後処理が面倒です。 そこで今回は直接レスポンスでバイナリを返すという方法をご紹介します。 なお...
CakePHP3.x

[CakePHP4]途中で追加したカラムが保存されない

Modelの設計を行っているときに、途中でカラムを追加するというようなことはよく発生すると思います。 ですが、たまに追加したカラムがなぜか保存されないという問題が発生します。 この問題は、だいたいはEntityの$_accessib...
CakePHP3.x

[CakePHP4]migration_diff しても差分が認識されない

テーブル定義を直接変更した後にmigration_diffコマンドを使うと差分を認識してMigrationファイルを自動生成してくれる便利な機能があります。 ./bin/cake bake migration_diff (設定名) ...
Webビジネス

フルスタックエンジニアを批判する人たちの危うさ

自称、底辺フルスタックエンジニアのCodeLabです。 最近、Twitterなどを見るとフルスタックエンジニアを批判している人が結構います。 フルスタックエンジニアってそんなにダメなんでしょうか? 何がダメで、なぜそのような思考になる...
CakePHP3.x

エラー画面のレイアウトを変更する

CakePHP4でレイアウト、つまり大枠の部分のデザインテンプレートは、デフォルトでは template/layout/default.php が使われます。 これは、レイアウトファイルといわれていますが、デフォルトのレイアウトファイル...
CakePHP3.x

[CakePHP4]Queryからの日付取得

CakePHP4でqueryからカラムの日付をstrtotime()で変換しようとしたら以下のようなエラーになります。 strtotime() expects parameter 1 to be string, object given ...
開発

Cakeで行ロックを使う方法

CakePHP4系で行ロックを使う方法です。 あんまり指摘している記事がなかったので書いてみました。 具体的にはFOR UPDATEを使うのですが、どうやって呼ぶのか? 早速コードを見てみましょう //Tableクラス内などで u...
CakePHP3.x

PHPのオブジェクトコピー

CakePHPのqueryビルダで、こんな感じで条件を変えて連続して結果を取得したいなぁ‥というとき。 例えばこんな感じのことをしたいとすると $query = $this->find()->where(共通の複雑な条件);...
CakePHP3.x

Viewにセットした値をコントローラーで取得する

Viewにセットした値をコントローラーで取得する方法です。 古いバージョン(CakePHP2系) コントローラークラスにプロパティーがありますので、そこから取得が可能です。 $varname = $this->viewVars;...
CakePHP3.x

CakePHP4で動的生成しながらファイルダウンロード

CakePHP4でのファイルのダウンロード方法を解説します。 CakePHP3/4系での記事になります。 通常の方法 まずは、簡単なデータを一括で生成してからダウンロードさせる方法です。 $body = "あいうえお"; ...
CakePHP3.x

サーチプラグインでカラムを連結して検索したい

friendsofcake/search を使っての検索は非常に楽なんですが、いろいろわからない点が多いんですよね。 カラムを連結して検索する要件があたのですが、手間取ったので記事にしました。 CakePHP2の場合 CakePHP2...
CakePHP3.x

count() メソッドは limit、 offset、 page 句を無視する?

CakePHP4で、データのエクスポートをするためにlimit()とpage()を組み合わせてcount()で残りの数を見ながら出力していたのだけど、なんか終了しない。 むむむ?と思って調べてみたら。 count...
CakePHP4

[CakePHP4.x]複数認証の実装方法

CakePHP4で認証システムを実装するのは若干以前より面倒になった感があります。 通常の実装方法に関しては、こちらで以前記事にしました。 一般的な実装方法についてわからない場合はcakebookの下記のページを参照すればよいかと思いま...
CakePHP3.x

CakePHP4のselectの一括カラム登録方法

以前、CakePHPのクエリビルダ―でselectでカラムを登録すると他が消えてしまって、全部登録しなおさなくちゃいけなくてめんどくさいという記事を書きました。 でも、その後しらべたら、あんなことしなくても簡単にsel...
CakePHP4

[CakePHP4] Impossible to generate condition with empty list of values for field ってなに

Impossible to generate condition with empty list of values for field (モデル名.カラム名) こんなエラーが発生しましたが、コードの位置と発生した場所が違うのでいまいちわ...
開発

CakePHPのselectが面倒くさいんじゃ!

追記 その後、こんなことしなくてももっと簡単にできることが判明。こちらのリンクを参照してください。 忘備録としてこのページも残しておきます。 CakePHPのQueryビルダーでカラムをselectする...
CakePHP4

helperなどでのURL指定方法の命名規則

CakePHP4でprefixを出したくてこんな感じに書いたらエラーになりました。 $this->Url('link-title', ); エラー内容 A route matching "array ( 'prefix'...
CakePHP

==と===の罠

PHPは変数の型のチェックがいい加減なんで、仕様をよく理解していないと変なところでハマったりします。 CakePHPのコントローラー処理で、仮に <?php //コントローラーで public function view($u...
PHP

[PHP]変数の中身を変数名に使いたい

変数の中身を変数名に使いたい時ってありますよね。 そういう時は可変変数というものを使います。 <?php $hoge = 'ほげだよ'; $fuga = 'hoge'; echo $$fuga; 実行例 ちな...
タイトルとURLをコピーしました