Neo4jphpでノードに数値のプロパティをセットするときに気を付けるところ

Facebooktwitter

ノードに「sort」っていう名のプロパティをつけて、取り出し結果をそれでソートしようと思ってやったんですが、思い通りにソートしてくれない。
文字列としてソートしているらしく、11が2の前に来てしまいます。

ブラウザで見ても、一見数値なのか、文字列なのかわからないし、そもそも、PHPでCSVやDBから取ってきた数字をただsetPropertyメソッドで入れてるから、あんまり意識していなかった。

        $branch->setProperty('name', $v['branch'])
                ->setProperty('code', $v['branch_code'])
                ->setProperty('del_flag', $v['branch_del_flag'])
                ->setProperty('on_off', $v['branch_on_off'])
                ->setProperty('sort',$v['branch_sort'])
                ->save();

これを

        $branch->setProperty('name', $v['branch'])
                ->setProperty('code', (int)$v['branch_code'])
                ->setProperty('del_flag', (int)$v['branch_del_flag'])
                ->setProperty('on_off', (int)$v['branch_on_off'])
                ->setProperty('sort',(int)$v['branch_sort'])
                ->save();

このようにキャストしながら入れれば、ちゃんと数字として入れてくれました。

もしかして問合せの時も一回一回キャストしなきゃいけないのかな?