FuwaFuwaShoChan

WEBエンジニア歴15年の半シングルファーザー(娘2人)。30代未経験からWEBエンジニアに転職。ブログ歴4年目(月1.6万PV達成)。エンジニア職は柔軟性があり最強(ホワイト企業なら育児×副業可能)。WEB系のエンジニアを目指す人、育児やメンタルに関することも発信してく。

【Cakephp2→4】バリデーションのfalse時、動的なエラーメッセージを返す

2023/5/15    

Cakephp2 でのバリデーションの結果が false の際に、エラーメッセージをセットするコードを見かけました。 Cakephp2: バリデーション結果が falseの際、動的にメッセージをセットする $this->validator()->getField('name')-> ...

【Cakephp4】標準バリデートdate()は2999年までしか対応していない件

2023/5/12    

Cakephp4標準の date() バリデートは2999年までしか対応してないようです。なので、例えば 3000-01-01 などのような日付が渡ってくる場合、問答無用で検証エラーとなります。あまりないケースかもですが、もし 2999年 移行の日付フォーマットチェックをしたい場合、以下のようにする ...

[php]パーセント表記文字列をfloat型に変換する方法

2023/5/8    

PHPで 5% などの文字列を浮動小数点に変換するには、floatval() 関数を使用することができます。 以下は、% を含む文字列を float 型に変換する例です。 <?php $percentage = '5%'; $floatVal = floatval($percentage) / ...

レッド・ルーレット: デズモンド・シャム

2023/7/8    ,

「レッド・ルーレット」読みました。中国共産党の背景が恐ろしく感じました。ちなみに、「レッド・ルーレット」は中国では禁本とされているとのこと。 本書は、著者のデズモンド・シャムの生い立ちから、現在に至るまでの自伝という捉え方もできると思います。幼少期のデズモンドは裕福な家庭に生まれたわけでもなく、父親 ...

園通い始めの子育て苦難について[キャリアあきらめ]

2023/5/5    ,

5歳と1歳の2児のちちをしております。ふわふわしょうちゃんです。 保育園に通い始めると例外がなく、必ず子どもは風邪を引きます。感染する要因は、唾液や空気感染など、コロナ時代もあり、誰もが知る所ではありますが、子どもは特にウイルスなどによる免疫が出来上がっていないので、悪化しやすく、繰り返し風邪を引き ...

【Cakephp2→4】SQL条件にnullを指定する場合は「IS NOT」など明記する

2023/5/1    

Cake2 から Cake4 の移行の際、SQL処理の移行作業も必要なケースがほとんどだと思います。そこで注意したいのが、conditions(条件)を定義する際に値が null なものを指定したい場合は IS などの明記が必要になります。 以下に例を示します。 Cake2: conditionsに ...

電子書籍リーダーを独断でランキング比較(Boox/Kindle/Kobo)後編

電子書籍リーダーを独断でランキング比較の後編やっていきます。前回の「電子書籍リーダーランキング比較」を読んでもらった人が、更に突っ込んで「電子書籍リーダー買いたいけど、まだ迷ってるわー」という人向けに発信させていただきます。 もし、前編に気づかず、当記事に来てしまった方のために一応カードを配置してお ...

【Cakephp4】ヘルパーの拡張・別名設定

2023/4/18    

Cakephp のデフォルトのヘルパーに独自のメソッドを追加し、それを利用する方法です。 AppHtmlHelper: 拡張するファイルを作成 まず最初に拡張するメソッドのヘルパーファイルを作成します。 ・src/View/Helper/AppHtmlHelper.php <?php decl ...

【Cakephp】エイリアスを実カラム名と同名にすると上書きされる問題

2023/4/14    

CakephpにてSQLビルダーの組み立て中に、エイリアスを利用してSQL関数を実行させようとしていました。 が、なぜか実行されず、「うーん。なんで?」と考えることに。 結論からいうと、「エイリアスを実カラム名と同じ名前にすると、実カラム名の値で上書きされる」ということでした。優先度が高いのが実カラ ...

【Cakephp】クエリビルダーのキーにSQL関数を利用する

2023/6/8    

Cakephp のクエリビルダーにて配列キーにSQL関数を実行する場合、自動的に発行されるSQLに「=」が付与されないのでシンタックスエラーになります。 対策としては、以下のようになります。 クエリビルダーにてキーにSQL関数を実行する場合は「=」を明示する $query->where([   ...