CakePHP で使うモデルのメソッド Find と FindAll で、対象データがなかった場合は戻り値が少し違う。 Find と FindBy の場合、対象データがなかったら false が返ってくる。 それに対して FindAll と FindAllByの場合は false ではなく空の配列が返ってくる。 ということはどういうことかというと、 if (!$this->User->FindAllById($id)) { //対象データがなかった場合の処理 } なら期待どおり動くが if ($this->User->FindAllById($id) === false) { //対象データがなかった場合の処理 } ではダメということ。 Find, FindBy なら false が返ってくるからどっちでもいける。 対象データの存在確認をするなら findCount で調べればいいわけで、