如何使用Doctrine_Query更改表中的多个MySQL行?

时间:2011-10-07 19:18:45

标签: php mysql doctrine

所以我试图在我的网站管理面板中选择一个选项时,通过调用Doctrine_Query来更改MySQL数据库表中一行中的某些特定列。

以下是详细信息:

  • 表名:chatUsers
  • 我需要找到所有人的行 用户名:$ chatUsers-> username(chatUsers中的列是 叫用户名)
  • 找到所有这些行后,将所有行的列“type”的值更改为“user”

这甚至可能吗?

到目前为止,我有:

$query = Doctrine_Query::create()->from('db_chatUsers')->where('username = $chatUsers->username')->findAll();

......而且我不确定从那里去哪里,或者这是否正确。我可能不得不使用'foreach'或其他东西。提前抱歉,我对PHP不是很了解。

1 个答案:

答案 0 :(得分:0)

我刚从http://www.doctrine-project.org/documentation/manual/1_1/hu/dql-doctrine-query-language

取消了它

我从未使用过教条,我不知道这是否有效。

$query = Doctrine_Query::create()
    ->update('db_chatUsers')
    ->set('type', '?', 'user');
    ->where('username = '.$chatUsers->username);

// If the "user" is column not a value then use instead:
//$query->set('type', 'user');

//execute query
$rows = $query->execute();
echo $rows.' rows updated';