0

doctrine 1.2 については、次のような例がたくさんあります。

$q = Doctrine_Query::create()
->update('mytable')
->set('amount', 'amount+200')
->whereIn ('id', $ids);

しかし、私がやりたいのは別のセットです:

->set('name', 'foo bar')

ただし、これは例外につながります。もちろん、foo は amount のように列ではないためです。どちらにも運がありません'´foo bar´'。foo bar が文字列リテラルであることを明確にするにはどうすればよいですか?

これは見るのに適切な場所だと思いますが、それ以上の情報は見つかりません。また、そこに記載されている「混合パラメーター」と「文字列更新」について詳しく知りたいです。おそらく、DOCTRINE::FLAG_LITERAL などがありますか?

4

2 に答える 2

3

使用する:

->set('name', '?', 'foo bar')

これは、DQL で次のことを行うのと同じです。

SET name = ?
于 2011-12-29T00:20:32.477 に答える
0

次のものも使用できます。

$q = Doctrine_Query::create()
    ->update('mytable')
    ->set('name', ':name')
    ->setParameter('name', 'foo bar')
于 2021-10-26T14:19:43.463 に答える