标签: zend-db-table

如何在每次连接时使PDO运行SET NAMES utf8,在ZendFramework中

如何在每次连接时使PDO适配器运行SET NAMES utf8,在ZendFramework中.我正在使用INI文件来保存适配器配置数据.我应该在那里添加什么条目?

如果不清楚,我正在寻找正确的语法,在我的项目的config.ini文件中,而不是在PHP代码中,因为我认为这是配置代码的一部分.

php pdo zend-framework zend-db-table

40
推荐指数
3
解决办法
8万
查看次数

使用Zend_Db_Table_Abstract将WHERE子句分组

有没有人知道如何将Zend_Db的子句分组?基本上我有这个查询

$sql = $table->select()
             ->where('company_id = ?', $company_id)
             ->where('client_email = ?', $client_email)
             ->orWhere('client_email_alt = ?', $client_email);
Run Code Online (Sandbox Code Playgroud)

哪个给了我这个:

SELECT `clients`.* FROM `clients` WHERE (company_id = '1') AND (client_email = 'email@address.com') OR (client_email_alt = 'email@address.com')
Run Code Online (Sandbox Code Playgroud)

但我需要它给我这个,OR语句被分组:

SELECT `clients`.* FROM `clients` WHERE (company_id = '1') AND ((client_email = 'email@address.com') OR (client_email_alt = 'email@address.com'))
Run Code Online (Sandbox Code Playgroud)

zend-framework zend-db-table

35
推荐指数
2
解决办法
1万
查看次数

什么时候应该使用doctrine ORM和zend-db-table?

在项目规模,学说与zend-db-table速度和性能方面,何时应该在Zend项目中使用doctrine,以及什么时候使用zend-db-table?

php doctrine zend-framework zend-db-table

26
推荐指数
2
解决办法
7225
查看次数

Zend Framework:如何删除多个事物都属实的表行?

通常,这对我有用:

$db = Zend_Db_Table::getDefaultAdapter();
$where = $db->quoteInto('id = ?', $id);
$db->delete('tablename', $where);
Run Code Online (Sandbox Code Playgroud)

但我必须匹配两个ID.所以我真的不知道如何构建它.

WHERE first_id = 'id1' AND second_id = 'id2'
Run Code Online (Sandbox Code Playgroud)

那么我如何使用Zend Framework做到这一点?

zend-framework zend-db-table zend-db

24
推荐指数
2
解决办法
5万
查看次数

如何使用Zend_Db添加多行?

我有一个数组的信息看起来或多或少像这样:

$data[] = array('content'=>'asd');
$data[] = array('content'=>'asdf');
Run Code Online (Sandbox Code Playgroud)

我想将两个条目添加到数据库中.

$db->insert('table', $data);
Run Code Online (Sandbox Code Playgroud)

不添加两个条目.我究竟做错了什么?我必须使用Zend_ Db_Table吗?

$data = array('content'=>'asdf');
$db->insert('table', $data);
Run Code Online (Sandbox Code Playgroud)

当然是有效的

php mysql zend-framework zend-db-table zend-db

22
推荐指数
3
解决办法
3万
查看次数

Zend框架 - 我为什么要使用数据映射器/ Db_Table_Row?

扩展问题:为什么我应该使用数据映射器/ Db_Table_Row,因为DbTable能够处理大多数数据操作的基本任务.

我目前正在学习ZF v1.11

对于数据库操作,我为每个表创建了DbTable.例如,"users"表由Application_Model_DbTable_Users表示,其中没有附加代码.

在操作数据时,我可以使用:

<?php
$uTable = new Application_Model_DbTable_Users();
$newUid = $uTable->insert(array('name'=>'Old Name', 'email'=>''));
$user = $uTable->find($newUid)->current();

// Then I can use $user which is instance of Table_Row
$user->name = "New Name";
$user->email = "email@addr.com";
$user->save();
Run Code Online (Sandbox Code Playgroud)

我的问题是,何时需要定义一个行类(假设在ZF-Tutorials中将Table_Row称为DataMapper)

// By, adding this to the DbTable class
protected $_rowClass = 'Application_Model_User';
Run Code Online (Sandbox Code Playgroud)

为每个实体设置Row类有什么好处?任何人都可以指出我的最佳做法.

php database design-patterns zend-framework zend-db-table

22
推荐指数
2
解决办法
8332
查看次数

避免使用Zend_Db类进行MySQL注入

我目前使用Zend_Db来管理我的查询.我已经编写了代码,可以执行如下所示的查询:

$handle->select()->from('user_id')
                   ->where('first_name=?', $id)
                   ->where('last_name=?', $lname)
Run Code Online (Sandbox Code Playgroud)

假设Zend_Db会这样做,我没有清理输入就完成了这个.Zend会这样做吗?

另一个问题:Zend_Db是否清理insert('table', $data)update查询?

谢谢.

php mysql zend-framework zend-db-table

14
推荐指数
2
解决办法
6982
查看次数

Zend Framework:如何检索最后插入行的id?

我用这段代码在我的数据库中插入一个新行:

$data = array(
    'key' => 'value'
);
$this->getDbTable()->insert($data);
Run Code Online (Sandbox Code Playgroud)

如何获取刚刚创建的此行的行ID?

php zend-framework zend-db-table zend-db

12
推荐指数
2
解决办法
3万
查看次数

Zend_Db:如何从表中获取行数?

我想知道表中有多少行.我使用的数据库是MySQL数据库.我已经有一个Db_Table类用于调用fetchAll().但我不需要表中的任何信息,只需要行数.如何在不调用的情况下获取表中所有行的计数fetchAll()

mysql zend-framework zend-db-table

12
推荐指数
3
解决办法
2万
查看次数

由于父项缺失,无法刷新行.Zend框架

我在尝试保存时收到错误"无法刷新行,因为父项丢失".这是我的代码

abstract class Webapp_Model_Resource_Db_Table_Abstract
extends Zend_Db_Table_Abstract
{
    /**
     * Save a row to the database
     *
     *
     * @param array             $info The data to insert/update
     * @param Zend_DB_Table_Row $row Optional The row to use
     * @return mixed The primary key
     */

    public function saveRow($info, $row = null)
    {         
        if (null === $row) {
            $row = $this->createRow();
        }
        $columns = $this->info('cols');
        foreach ($columns as $column) {
            if (array_key_exists($column, $info)) {
                $row->$column = $info[$column];
            }
        }

        return $row->save();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调用saveRow()方法时,我传入$ _POST值($ …

zend-framework zend-db-table

12
推荐指数
1
解决办法
8028
查看次数