什么列类型最适合在MySQL数据库中用于布尔值?我用,boolean
但我的同事使用tinyint(1)
.
如何使用doctrine 2 ORM获取最后一个插入ID?我没有在学说的文献中找到这个,这甚至可能吗?
我想知道PHP应用程序之间的区别__construct()
和init()
功能有什么区别,特别是在Zend Framework应用程序中.
哪种类型(浮点数或十进制)最适合在mysql数据库中存储价格?
如何在没有交互的情况下运行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) 我正在尝试用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) 我有一个与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)
有人可以说这个问题的最佳做法是什么?谢谢
我正在尝试根据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) 我正在使用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) doctrine ×5
php ×5
doctrine-orm ×2
mysql ×2
phpunit ×2
sql ×2
unit-testing ×2
database ×1
datatables ×1
filter ×1
jquery ×1
lastinsertid ×1
left-join ×1
many-to-one ×1
mapping ×1
orm ×1
sql-server ×1