Symfony1 使用Symfony中的条令更新多个列

Symfony1 使用Symfony中的条令更新多个列,symfony1,doctrine,Symfony1,Doctrine,我必须在Symfony中更新多个列,但我找不到解决方案。。。 所以,我想这样做: $q = Doctrine_Query::create() ->update('WebusersTable q') ->set('q.login_name','?','John') ->where('q.webuser_id=?',1) ->execute(); 好的,这很有效,但我必须用几个专栏来做。 我试过类似的方法,但不起作用: $q = Do

我必须在Symfony中更新多个列,但我找不到解决方案。。。 所以,我想这样做:

$q = Doctrine_Query::create()
     ->update('WebusersTable q')
     ->set('q.login_name','?','John')
     ->where('q.webuser_id=?',1)
     ->execute();
好的,这很有效,但我必须用几个专栏来做。 我试过类似的方法,但不起作用:

$q = Doctrine_Query::create()
     ->update('WebusersTable q')
     ->set('q.login_name,q.name','?','kaka,pisa')
     ->where('q.webuser_id=?',1)
     ->execute();
尝试:

试一试


}

整洁-以前从未见过+1:)jQuery如何知道John是一个文字,而不是一个列名(我这样问是因为有->set('amount','amount+200')之类的示例。我在这方面确实有问题…@Fronker在第1626行
return$this->\u addDqlQueryPart('set','key'=')。value,true);
这里不检查。它在使用正则表达式和组件生成完整的原始SQL之前检查。您不会有任何问题。
$q = Doctrine_Query::create()
     ->update('WebusersTable q')
     ->set('q.login_name', 'John')
     ->set('q.name', 'Another value')
     ->where('q.webuser_id=?',1)
     ->execute();
$q = Doctrine_Query::create()
->update('WebusersTable q')
->set(array('q.login_name' => 'John',
            'q.name' => 'Another value'))
->where('q.webuser_id=?',1)
->execute();
class contentActions extends sfActions {

const TABLE_NAME_ARTICLE = 'article';

/**
 * Executes index action
 *
 * @param sfRequest $request A request object
 */
public function executeIndex(sfWebRequest $request) {


    // Get id from $_GET
    $id = $request->hasParameter('id') ? $request->getParameter('id') : $request->getPostParameter(self::TABLE_NAME_ARTICLE . '[id]');

    // Create model active row by id
    $modelActiveRow = Doctrine::getTable(self::TABLE_NAME_ARTICLE)->find($id);

    // Verify existence article
    $this->forward404Unless($modelActiveRow);

    // Get form name
    $formName = self::TABLE_NAME_ARTICLE . 'Form';

    // Create article form object. Use model article (load data).
    $this->form = new $formName($modelActiveRow);

    if ($request->isMethod('post')) {

        $postData = $request->getParameter(self::TABLE_NAME_ARTICLE);
        $this->form->bind($postData);

        if ($this->form->isValid()) {
            $this->form->save();
            $this->getUser()->setFlash('notice', 'Changes were successfully saved.');
            // redirect
        }
    }

}