Php 关于教义的新手问题

Php 关于教义的新手问题,php,doctrine,Php,Doctrine,如何通过演示在模型的Table类(例如tableNameTable.class.php)中执行类似于上述的操作: 将为您提供一个条令结果集合。根据我的经验,大多数人不编写特定的表类,而是通过CLI工具使用自动生成的条令记录类 如果这是你的情况,你可以这样做 function getResults() { $results = self::createQuery("q") ->select("q.*") ->orderBy("q.id DESC") ->

如何通过演示在模型的Table类(例如tableNameTable.class.php)中执行类似于上述的操作:


将为您提供一个条令结果集合。

根据我的经验,大多数人不编写特定的表类,而是通过CLI工具使用自动生成的条令记录类

如果这是你的情况,你可以这样做

function getResults()
{
  $results = self::createQuery("q")
    ->select("q.*")
    ->orderBy("q.id DESC")
    ->limit(10)
    ->execute();

  return $results;
}
如果您发现您总是按照ID DESC对所有结果排序,并将所有查询限制为10,那么您还可以像这样在Doctrine记录类中添加一个钩子

//instantiate your record class
$model = new TableName();

$model->getTable() //returns an instance of Doctrine_Table for current Doctrine_Record 
      ->createQuery() //returns a Doctrine_Query instance with the current table loaded
      ->orderBy("id DESC")
      ->limit(10)
      ->execute();
//instantiate your record class
$model = new TableName();

$model->getTable() //returns an instance of Doctrine_Table for current Doctrine_Record 
      ->createQuery() //returns a Doctrine_Query instance with the current table loaded
      ->orderBy("id DESC")
      ->limit(10)
      ->execute();
class TableName extends Base_TableName //most Doctrine Records extend a base record with config info
{
   //this hook will order all by id and limit all queries to 10
   public function preDqlSelect(Doctrine_Event $event)
   {
      $event->getQuery()
            ->addOrderBy("id DESC")
            ->limit(10);
   }

}