

CakePHP2.6を使用しています。

query()で実行するSQLにlimit句がありその値をバインド変数で可変にしたいと考えています。

[code]

    limit :limit
    
[/code]

とし、

[code]

    $this->query($sql, ['limit' => 1], false);
    
[/code]

と値をセットして実行するとlimit句に文字列の1が入ってしまいエラーとなります。

PDOならbindValueの引数にPDO::PARAM_INTを設定して解消出来るようですが  
CakephpだとDboSource::_execute()内でexecute()が実行されるまでにそれが設定出来るような箇所は無いように見えます。

CakePHPでlimit句に値を指定する方法はあるのでしょうか

追記  
?を使った方法でも同様のエラーとなります。

[code]

    LIMIT ?
    
[/code]

[code]

    $this->query($sql, [1], false);
    
[/code]

またエラーメッセージは以下のとおりです。

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an
error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near ''1'' at line 12


CC BY-SA 3.0
2015-10-17T05:56:06.617
17745
2015-10-17T07:24:30.290
2015-10-17T07:24:30.290
11050
11050
question
cakephp
CakePHPのquery()でlimitにバインド変数を使いたい