Выборка случайного значения в PropelORM

  • 742
  • 0
  • 0
  • 0
  • 3 года назад

На данный момент PropelORM не имеет простого способа получения случайного значения из таблицы. Но на самом деле сделать это не так уж и сложно с помощью Criteria:

<?php
// В этом примере, я использую таблицу 'category' и соответствующий класс CategoryPeer.

$criteria = new Criteria();
$criteria
    ->addAscendingOrderByColumn("RAND()")
    ->setLimit(10);

// В коллекции $categories сейчас содержиться 10 случайных строк выбранных из таблицы category.
$categories = CategoryPeer::doSelect($criteria);
?>

Вот так можно получить одно случайное значение:

<?php

$criteria = new Criteria();
$criteria
    ->addAscendingOrderByColumn("RAND()")
    ->setLimit(1);

$category = CategoryPeer::doSelectOne($criteria);

Комментарии

0