如何使用Zend_Db_Adapter执行纯SQL进行排序?

时间:2013-11-06 08:20:51

标签: mysql zend-framework

我一直在使用zend已经有一段时间了,我需要帮助Database Access Object/Zend Db Adapter我想创建一个search engine来搜索我的程序中的项目,我想使用sql query对此。

我想按字母顺序按降序和升序调用一些项目。

什么是重要的,我如何去构建代码。请帮忙

1 个答案:

答案 0 :(得分:0)

首先,您需要设置数据库,有多种方法可以执行此操作:

$db = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host'     => '127.0.0.1',
    'username' => 'webuser',
    'password' => 'xxxxxxxx',
    'dbname'   => 'test'
));

厂:

$db = Zend_Db::factory('Pdo_Mysql', array(
    'host'     => '127.0.0.1',
    'username' => 'webuser',
    'password' => 'xxxxxxxx',
    'dbname'   => 'test'
));

或者在application.ini中:

resources.db.adapter = "pdo_mysql"
resources.db.params.host = "127.0.0.1"
resources.db.params.username = "webuser"
resources.db.params.password = "xxxxxxxx"
resources.db.params.dbname = "test"
resources.db.isDefaultAdapter = true

设置完成后,您可以这种方式查询数据库:

        $db = Zend_Db_Table::getDefaultAdapter();
        $sql = 'SELECT * FROM table WHERE id=X';
        $statement = $db->query($sql);
        $row = $statement->fetch();

        $this->view->name = $row['column'];

但是,如果您要创建Zend搜索,您可能应该关注:Lucene

但是你可以通过模型方法和Zend_Db_Table_Select:

做同样的事情
$select = $this->select()->where('this_col = ?', this_val)->order('name ASC');