进一步研究:看起来答案在于更改定制的默认 Hydrator。Doctrine2 允许您仅通过发送他的名字作为参数来更改它:
$query->getResult('CustomHydrator');
不要忘记先在 config.yml 文件中注册它:
doctrine:
orm:
hydrators:
CustomHydrator: \your\bundle\Hydrators\CustomHydrator
Run Code Online (Sandbox Code Playgroud)
在研究了如何在 Doctrine 2 中向获取的对象添加额外字段后,我发现了Aggregate Fields,这是一篇很好的文章,但只是谈论从单个帐户中获取余额,它从未说明我们在使用数组时应该做什么帐户,这可能听起来很傻,但让我解释一下我的情况。
就我而言,不是关于帐户和条目,而是关于博客和评论。
我想要做的是列出一些博客,并只显示它有多少评论而不加载任何评论信息,换句话说,我想将此查询转换为 Doctrine2 World。
'SELECT b.*, COUNT( b.id ) AS totalComments FROM `blogs` b LEFT JOIN comments c ON b.id = c.blog_id GROUP BY b.id LIMIT 8'
Run Code Online (Sandbox Code Playgroud)
我期望的结果是一组正确设置了 totalComments 属性的博客对象,如下所示:
array (size=8)
0 =>
object Blog
'id' => int 330
'title' => string 'title blog'
// Added field, not visible in table DB. Came through query …Run Code Online (Sandbox Code Playgroud) 我已经看到了Hierarchical Context Runner在JUnit中是如何工作的,它非常棒.
它允许您在单个测试类中的方法组之前安排多个设置.当您测试多个场景时,这非常棒; 感觉更像是做BDD. 分层运行器说明
很高兴在PHPUnit中有这样的东西,但我无法实现这一点.
我尝试过使用@before自定义方法的注释,希望能够规定顺序.此外,我试图声明内部类,但后来我发现在PHP 5中不允许这样做.我还尝试了很多其他的东西而没有成功.
是否可以使用PHPUnit实现这一目标?
当我调用这个javascript函数时,我收到了这个错误:
function kickUser(id_userChat){
$.post("chatFuncs.php", { action: "kick", id_user: id_userChat });
}
Run Code Online (Sandbox Code Playgroud)
这个"kickUser"函数是为连接到我的聊天框的每个用户生成的,就像这样
$listUsers .= '<img src="imgUsers/'.$DBClass->nomImg($rowUsers['id_user'],$posImg).'" height="'.$heightImg.'" width="'.$widhImg.'"/>
<span class="styleMsg">'.$rowUser['nameUser'].'</span>
<a href="#" class="BtnKick" onClick="kickUser('.$rowUsers['id_user'].')">Kick</a></br>';
Run Code Online (Sandbox Code Playgroud)
并且"kick"操作只是对我的数据库的更新,我从chatUsers表中删除了用户
如果我为$ rowUsers ['userName']更改$ rowUsers ['id_user'],则错误更改为: ReferenceError:'userName'未定义(我为此示例更改了'userName'的用户的真实姓名).
当我使用这个(php)禁止他从我的聊天框中禁用他时,我试图重定向我的页面的用户:
header("location: index.php");
exit;
Run Code Online (Sandbox Code Playgroud)
问题是index.php页面在连接的用户部分内部打开,在这种情况下是在一个内部div.如何重定向用户的主页面?
谢谢你的时间.
我有一个按钮,当它被点击时,显示一个div与图像(如聊天的表情符号面板),如果我再次点击它div隐藏,但我想要做的是:如果div已经出现然后我点击页面的任何其他东西,我想隐藏它.我试过这个:
$("myBtn").click(function(){
// show div
});
$(document).click(function(){
// hide div
});
Run Code Online (Sandbox Code Playgroud)
单击"myBtn"时,div会自动显示并隐藏.我该怎么办呢?
感谢您的时间.
我有一个使用node.js的应用程序,其中多个对象引用了socketio实现。他们每个人都会打开一个on-connection事件,以便将他们的特定事件添加到套接字连接中,如下所示:
this.io.on('connection', function(socket){
socket.on('subs', function(sub){
self.processSub(sub);
});
// more events
});
Run Code Online (Sandbox Code Playgroud)
我有 10 个这样的对象,这个想法是继续使用这种架构添加模块。
我的问题是:
是否socket.io是专为这种用法?它是否可以认真考虑性能?
一如既往,感谢您的时间;)
javascript ×3
php ×3
doctrine-orm ×1
events ×1
firebug ×1
hierarchical ×1
jquery ×1
mysql ×1
node.js ×1
performance ×1
phpunit ×1
socket.io ×1
symfony ×1
unit-testing ×1