ITblog

cakephpでオブジェクトにフィールドがあるかどうかをチェックする方法

2022年12月20日

cakephpで、オブジェクトにフィールドが存在するかどうかをチェックする方法についてです。

cakephpで、オブジェクトに特定のフィールドが存在しているかをチェックしようと思ったのですが、phpで使われている一般的な方法である

property_exists

を使うことができませんでした。(存在しているフィールドでもfalseが返ってくる)

理由としては、プロパティそのものを参照しているわけではない仕様になっているようです。

cakephpでは、オブジェクトはTablesクラスを継承しているのですが、Tables Classに、該当のモデルにフィールドが存在しているかどうかをチェックする関数 hasFIeld()がありました。

$this->Model->hasField($fieldName)

上記の関数で、該当のテーブル(モデル)が対象のフィールドを持つ場合に、trueを、そうでない場合にはfalseを返します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です