小编tom*_*tom的帖子

布尔值vs tinyint(1)表示MySQL中的布尔值

什么列类型最适合在MySQL数据库中用于布尔值?我用,boolean但我的同事使用tinyint(1).

mysql sql

116
推荐指数
5
解决办法
9万
查看次数

获取doctrine 2的最后一个插入ID?

如何使用doctrine 2 ORM获取最后一个插入ID?我没有在学说的文献中找到这个,这甚至可能吗?

php orm doctrine lastinsertid

70
推荐指数
4
解决办法
9万
查看次数

使用Doctrine 2检查重复键

在进行刷新之前,是否有一种简单的方法可以检查Doctrine 2的重复键?

doctrine doctrine-orm

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

__construct()和init()之间有什么区别

我想知道PHP应用程序之间的区别__construct()init()功能有什么区别,特别是在Zend Framework应用程序中.

php zend-framework

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

浮动或小数价格?

哪种类型(浮点数或十进制)最适合在mysql数据库中存储价格?

mysql sql database sql-server database-design

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

如何在没有交互的情况下运行doctrine 2迁移命令行?

如何在没有交互的情况下运行doctrine 2 migration命令?

目前我有以下命令,它运行在我的单元测试的设置上.但它总是提示是/否用户输入,即使我使用--no-interaction选项.

$input = new Symfony\Components\Console\Input\ArrayInput(
        array(
            'migrations:migrate',
            '--configuration' => APPLICATION_PATH . '/../doctrine/migrations.xml',
            '--no-interaction',
            )
        );
$cli->run($input);
Run Code Online (Sandbox Code Playgroud)

php phpunit unit-testing doctrine zend-framework

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

如何创建一个学说实体的模拟对象?

我正在尝试用phpunit编写一个使用doctrine 2的模型进行单元测试.我想模仿教条实体,但我真的不知道如何做到这一点.任何人都可以向我解释我需要这样做吗?我正在使用Zend Framework.

需要测试的模型

class Country extends App_Model
{
    public function findById($id)
    {
        try {
            return $this->_em->find('Entities\Country', $id);
        } catch (\Doctrine\ORM\ORMException $e) {
            return NULL;
        }
    }

    public function findByIso($iso)
    {
        try {
            return $this->_em->getRepository('Entities\Country')->findOneByIso($iso);
        } catch (\Doctrine\ORM\ORMException $e) {
            return NULL;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

bootstrap.php中

protected function _initDoctrine()
{
    Some configuration of doctrine
    ... 
    // Create EntityManager
    $em = EntityManager::create($connectionOptions, $dcConf);
    Zend_Registry::set('EntityManager', $em);
}
Run Code Online (Sandbox Code Playgroud)

扩展模型

class App_Model
{
    // Doctrine 2.0 entity manager
    protected $_em;

    public function __construct()
    { …
Run Code Online (Sandbox Code Playgroud)

php phpunit unit-testing doctrine zend-framework

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

在使用Doctrine 2和Zend Framework时,应该在哪里放置业务逻辑

我有一个与Doctrine 2和Zend Framework有关的问题.

如果默认使用Zend Framework而不使用Doctrine,则将业务逻辑放在模型中.但是,由于Doctrine 2确实有实体应该放置业务逻辑吗?

我首先创建了实体管理器调用实体的模型.但是当我想在没有数据库调用的情况下为我的模型编写单元测试时.我需要将实体管理器移动到控制器.但我在控制器中获得的业务逻辑并不好.

下面的代码显示了控制器操作的一部分:

        $customerAddress = $this->_model->save($values, $id);

        $this->_em->persist($customerAddress);

        // Update default billing address
        $defaultBilling = $this->_model->saveDefaultBilling($values, $customerAddress);
        if ($defaultBilling != FALSE) {
            $this->_em->persist($defaultBilling);
        }

        // Update default shipping address
        $defaultShipping = $this->_model->saveDefaultShipping($values, $customerAddress);
        if ($defaultShipping != FALSE) {
            $this->_em->persist($defaultShipping);
        }

        $this->_em->flush();
Run Code Online (Sandbox Code Playgroud)

有人可以说这个问题的最佳做法是什么?谢谢

php doctrine zend-framework business-logic

9
推荐指数
1
解决办法
3041
查看次数

Doctrine 2 ManyToOne有多个joinColumns

我正在尝试根据product_item表中的productId和toolboxItemId选择product_item_sortorder表中的匹配行.

在适用于给定productId的普通SQL中:

SELECT pi.*, pis.* FROM product_item pi
LEFT JOIN product_item_sortorder pis
    ON pi.productId = pis.productId
    AND pi.toolboxItemId = pis.toolboxItemId
WHERE pi.productId = 6
Run Code Online (Sandbox Code Playgroud)

我为它写了DQL如下:

$this->_em->createQuery(
    'SELECT pi
    FROM Entities\ProductItem pi
    LEFT JOIN pi.sequence s
    WHERE pi.product = ?1'
);
Run Code Online (Sandbox Code Playgroud)

如果输出$ query-> getSQL(),我会得到以下SQL:

SELECT p0_.id AS id0, p0_.productId AS productId1, p0_.priceGroupId AS priceGroupId2, p0_.toolboxItemId AS toolboxItemId3, p0_.levelId AS levelId4, p0_.parentId AS parentId5, p0_.productId AS productId6, p0_.toolboxItemId AS toolboxItemId7 FROM product_item p0_ LEFT JOIN product_item_sortorder p1_ ON p0_.productId = p1_. AND …
Run Code Online (Sandbox Code Playgroud)

mapping left-join many-to-one doctrine-orm

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

使用下拉列表过滤表(dataTables)

我正在使用dataTables jQuery插件(这非常棒),但是根据我的选择框的更改,我无法让我的表进行过滤.

功能:

  $(document).ready(function() {
      $("#msds-table").dataTable({
        "sPaginationType": "full_numbers",
        "bFilter": false
       });

      var oTable;
      oTable = $('#msds-table').dataTable();

      $('#msds-select').change( function() { 
            oTable.fnFilter( $(this).val() ); 
       });
   });
Run Code Online (Sandbox Code Playgroud)

HTML:

  <table border="0" cellpadding="0" cellspacing="0" id="msds-table">
                    <thead>
                      <tr>
                        <th>Column 1</th>
                        <th>Column 2</th>
                        <th>etc</th>
                      </tr>
                    </thead>
                    <tbody>
                    <select id="#msds-select">
                    <option>All</option>
                    <option>Group 1</option>
                    <option>Group 2</option>
                    <option>Group 3</option>
                    <option>Group 4</option>
                    <option>Group 5</option>
                    <option>Group 6</option>
                    </select>
                    <tr class="odd">
                        <td>Group 1</td>
                        <td><img src="images/modules/download-icon.gif" width="12" height="17" alt="" /></td>
                        <td><a href="#">Download</a></td>
                    </tr>
                    <tr class="even">
                        <td>Group 1</td>
                        <td><img src="images/modules/download-icon.gif" width="12" height="17" alt="" /></td>
                        <td><a …
Run Code Online (Sandbox Code Playgroud)

jquery filter datatables drop-down-menu

9
推荐指数
1
解决办法
4万
查看次数