インストールメモ » 2007年04月05日 木曜日

cakePHPのControllerのaddへの引数

通常、bake.phpでControllerを作成した場合には、addメソッドに引数はないので特に問題はないですが、

http://www……./posts/add

function add() {
:
}

独自にaddメソッドに引数を追加した場合、

http://www……./posts/add/1

function add($parentid = null) {
:
}

この様にaddメソッドに引数「1」を渡すとsave時に、idが「1」のデータを更新してしまうようです。
これを回避するには、saveの前に

$this->data[”Post”][”id”] = 0;

と、通常idに存在しない「0」を渡してあげてください。

Filed under: CakePHP — jun 2:16:59