【问题标题】:Zend DB Select : ORDER BY FIELD('id',some_array) - how?Zend DB Select : ORDER BY FIELD('id',some_array) - 怎么样?
【发布时间】:2011-07-07 14:15:37
【问题描述】:

您将如何在 Zend 框架中编写以下查询?

SELECT * FROM table_name ORDER BY FIELD(field_name, 'Small','Medium','Large');

我只需要“订购者”部分 :)

谢谢!

【问题讨论】:

    标签: mysql zend-framework zend-db


    【解决方案1】:

    这个呢:

          $db = Zend_Db_Table::getDefaultAdapter();
    
          $select = $db->select();
    
          $select->from('table_name')
                  ->order(new Zend_Db_Expr("FIELD(field_name, 'Small','Medium','Large')"));
    
    
          var_dump($select->assemble());
    

    结果:

    string 'SELECT `table_name`.* FROM `table_name` ORDER BY FIELD(field_name, 'Small','Medium','Large')' (length=92)
    

    【讨论】:

      【解决方案2】:
      $select->order(new Zend_Db_Expr('FIELD(field_name, 'Small','Medium','Large')'));
      

      【讨论】:

        【解决方案3】:

        我认为你应该这样做:

        $db = Zend_Db::factory( ...options... );
        $select = $db->select()
         ->from(table_name)
         ->order(new Zend_Db_Expr("FIELD(field_name, 'Small','Medium','Large')")));
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-31
          • 2011-04-06
          • 2012-07-23
          • 2011-11-18
          • 2012-04-12
          • 1970-01-01
          • 2011-05-26
          • 2015-02-26
          相关资源
          最近更新 更多