有没有办法通过Propel更改所选行的列值?

时间:2014-08-19 16:09:58

标签: symfony propel

行选择如下:

$book->getBookGenreToBooks()->???()

我想更改所有选定行的«checked»列。

2 个答案:

答案 0 :(得分:1)

您的答案中给定的解决方案效率非常低,因为它为每次更新创建了一个新查询。更好的方法是在一个查询中进行所有更改:

BookGenreQuery::create()
    ->filterByBookId($book->getId())
    ->update(array('Checked' => 1));

我不知道你的关系和领域究竟是如何命名的,你应该了解它背后的想法。

答案 1 :(得分:0)

$genresToBook = $book->getBookGenreToBooks();

foreach ($genresToBook as $genreToBook) {
    $genreToBook->setChecked(1); //Set any data here
}

$genresToBook->save();

这并不是我想要的,但这对我来说很好。