0

ZF2 tablegateway の非常に単純な SQL ステートメントに苦労しています。SQL ステートメントは最終的に次のようになります。

UPDATE tbl SET sortOrder=sortOrder+1 WHERE parentId='1'

ご覧のとおり、ID 1 の親に属するすべてのデータセットに対して、すべての sortOrder 値を 1 ずつインクリメントしたいだけです。SQL では簡単ですが、ZF2 では難しい :)

私は次のことを試しました(キー=>値のペアが必要なため、機能しませんでした):

$this->tableGateway->update(array('sortOrder' => 'sortOrder + 1'), array('parentId' => $parentId));

他の構造もいくつか試しましたが、これを解決する方法が見つかりません。誰か私にヒントがありますか?:)

事前にどうもありがとう、マイケル

4

1 に答える 1

0

試す -

$this->tableGateway->update(array('sortOrder' => new \Zend\Db\Sql\Expression('sortOrder + 1')), array('parentId' => $parentId));

それはうまくいきます。

于 2014-06-30T10:37:57.340 に答える