CakePHP+MySQLで、数値型カラムの結果を文字列ではなく数値で取得する

CakePHP+MySQLの環境で数値型カラムのデータを取得した戻り値も文字列になる。 これが問題となった事象のつぶやきに始まり、模索、原因究明、解決、ブログまとめ(http://t.co/u0EFeEKYFO)までの流れです。 ブログ記事の理解の助けにもなるのではないでしょうか。 なお、数値を文字列として返すDBIの仕様そのものは、問題ではなくむしろ安全であるとの見解が、タイムラインの最後の方にあります。
0
cakephper ichikawa @cakephper

ブログ記事書きました。 / “CakePHPのfind()で取得したデータを正しい型で受け取る(mysql) - cakephperの日記(CakePHP, MongoDB)” http://t.co/u0EFeEKYFO

2013-08-23 13:54:05
cakephper ichikawa @cakephper

@mawatarin 記事書きました。 Backbone連携の話楽しみにしてます。 http://t.co/xwbpsrZzaS

2013-08-23 13:54:34
まわたりなおと @mawatarin

integerなのにstringで出てくる現象をただす方法。行き詰まっていたので助かりました。 / “CakePHPのfind()で取得したデータを正しい型で受け取る(mysql) - cakephperの日記(CakePHP, …” http://t.co/NOS4vtPv6V

2013-08-23 14:02:25
ズボラッカ @zuborawka

@mawatarin さん、 @cakephper さん、今日のCakePHP+MySQLのやりとりを今拝見してとても興味深かったので、togetter とういので(やったことないんですけど)もしよければまとめさせてもらっても問題ないでしょうか?

2013-08-23 21:52:25
cakephper ichikawa @cakephper

Cake以外にもPDO依存のものは影響するものがあるかも。 / “CakePHP+MySQLで、数値型カラムの結果が文字列になってしまう件 - Togetter” http://t.co/6E0mWruszT

2013-08-23 22:08:08
akiyan @akiyan

@mawatarin @cakephper あえてそう言ってるかもしれないですけど、ただす、だとまるでstringが間違いみたいなんですが、DBIとしては文字列で返すのが最も安全な気がします。mysqlだとそれこそzerofill属性がついてたらintだと再現できませんし。

2013-08-23 22:21:48
cakephper ichikawa @cakephper

@akiyan 確かに、この表現はあまり良くなかったですね。ちょっと修正します。ありがとうございました。 @mawatarin

2013-08-23 22:26:10
akiyan @akiyan

@cakephper @mawatarin いえいえー。こういときにぴったりなビヘイビアとかあるといいんですけどね!(チラッチラッ

2013-08-23 22:29:05
cakephper ichikawa @cakephper

@akiyan タイトル変更しましたー。ありがとうございました。 http://t.co/xwbpsrZzaS @mawatarin

2013-08-23 22:39:56
まわたりなおと @mawatarin

@zuborawka @cakephper まとめありがとうございます。私もまとめようと思ってたところなので、手間が省けました。その後、タイトルに関して、 @akiyan さんが指摘をしてくださってるので、Togetterにもそれを含めると、より正確だと思います。

2013-08-24 07:58:19