小编Ton*_*nov的帖子

Doctrine 2.1:如何在集合中对聚合字段进行排序?

我有一个带有ArrayCollection字段的实体.在我可以写的注释中

@ORM\OrderBy({"somefield" = "DESC"})

我将从该实体获得的集合将自动订购.

我的问题是,是否可以通过聚合字段进行排序?

我当前的问题:我在集合实体中有2个字段:visited而且shown,我想用评级索引对集合进行排序,即:visited / shown.我试着在注释中写它,但它说它应该是一个有效的字段.我知道如何使用DQL执行此操作,但我不知道如何使用注释在Entity的声明中重新创建它.

提前致谢!

php sql-order-by arraycollection symfony doctrine-orm

6
推荐指数
1
解决办法
3413
查看次数

如何获取Phar中的当前工作目录?

getcwd()从控制台调用时,如何在Phar存档中的PHP脚本中?

考虑这个电话:

/path/to/my/actual/cwd> php index.php
Run Code Online (Sandbox Code Playgroud)

在这种情况下,getcwd()将返回/path/to/my/actual/cwd.现在我们采用相同的脚本,将它放在Phar中并像这样调用它:

/path/to/my/actual/cwd> php /path/to/my/phar/archive.phar
Run Code Online (Sandbox Code Playgroud)

这次,getcwd()将返回,/path/to/my/phar因为那是Phar存档的当前工作目录,但我没有从该目录调用存档,控制台的cwd不同.

我怎么能得到它?

或者甚至更好,我如何强制Phar中的所有脚本认为他们的cwd是控制台?

php filesystems console command-line-interface phar

6
推荐指数
1
解决办法
411
查看次数

MySQL插入行,重复:添加后缀并重新插入

我的问题相当复杂,但我想我应该试一试.

简而言之,我想插入一行slug(带有alphas和短划线的短字符串:this-is-a-slug).问题是这slug是一个唯一的密钥,可能存在重复.

如果有重复,则应插入修改后的内容slug,例如后缀:this-is-a-slug-1,如果失败则增加后缀:this-is-a-slug-2.

这是棘手的部分,它应该在MySQL中完成(不涉及PHP),最好是在INSERT语句中完成(没有变量,程序等)

我尝试过这样一个简单的解决方案:

INSERT INTO table (slug) VALUES(IF((SELECT COUNT(slug) FROM table WHERE slug = 'this-is-a-slug') > 0, 'this-is-a-slug-1', 'this-is-a-slug');
Run Code Online (Sandbox Code Playgroud)

this-is-a-slug-1如果this-is-a-slug存在,则应插入或this-is-a-slug以其他方式插入.

然而,预计会产生一个错误,告诉我,我不能FROMUPDATE声明或类似的声明中发表声明.

这就是问题,希望任何人都能说些什么.

PS:这是在一个真正的升级RSS新闻更新程序中使用,我可以使用php轻松检查db中的slug然后修改它,但是这会使我的脚本的时间加倍:|,所以我想我可以制作它很难用于mysql而不是php.

php mysql insert duplicates slug

5
推荐指数
1
解决办法
1639
查看次数

PHP glob()没有找到.htaccess

简单问题 - 如何.htaccess使用列出文件glob()

php .htaccess glob

5
推荐指数
1
解决办法
3619
查看次数

Java:如何在switch案例中初始化int数组?

如何在Java中初始化整数数组,如下所示:int[] array = {1,2,3};在switch语句中?

目前,我可以写:

switch(something) {
    case 0: int[] array = {1,2,3}; break;
    default: int[] array = {3,2,1};
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问array变量时,eclipse会抱怨它可能没有被初始化.

如果我尝试声明它int[] array;或者int[] array = new int[3];然后使用switch语句,它会说我正在尝试重新声明它.

我该如何解决这个问题?最后的想法是能够基于某些逻辑(switch语句)在一行代码中初始化一个包含10个值的数组.

java arrays oop int initialization

5
推荐指数
1
解决办法
3550
查看次数

Symfony 2 + Doctrine:如何压制SQLSTATE [23000]:完整性约束违规:1062重复条目

我查了几篇帖子,但找不到合适的解决方案.

我的问题不仅仅是简单的:

我有一个实体说id,urltitle.URL应该是唯一的(在MySQL PDO中).我已经成功创建了实体和架构,没有任何问题.现在,当我走一些记录时,我会打电话persist()给每一个,最后一个flush().问题是,当我尝试为URL插入重复的条目时,它给了我一个例外.怎么压抑它?

当插入重复条目时,它应该跳过它并插入其余条目.不需要事件,ON UPDATE语句,触发器和所有那些花哨的东西.

我已经尝试捕获由persist或引发的任何异常flush(),但似乎无法正确地执行它.

欢迎任何想法,谢谢!

编辑:在这里找到我的解决方案:Symfony2 Controller不会捕获异常

php mysql doctrine symfony

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

jQuery对象禁用事件监听器,如何检测html属性何时更改

我需要为select标记创建一个事件监听器.它应该在元素变为disabled或时触发enabled.

这甚至可能吗?

PS:onchange没有检测到禁用.

jquery events attributes listener

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

Java:如何初始化和填充最终的静态有序Map?

我在Java中有一个词干算法,它需要一个HashMap<String, String>预先填充大约30 000条记录的静态最终版本.

我需要地图按照插入顺序保存记录(我得到了一个提示,我可以使用LinkedHashMap?).

我以为我可以在Java类文件中手动插入值,因为这是在RAM中加载它们的最快方法(时间/生产力对于这个项目非常重要),通过使用30 000个调用

map.put("Key", "Value");
Run Code Online (Sandbox Code Playgroud)

问题是,java(或者至少是eclipse)在任何段/方法等中只允许65kb的代码.所以我最终扩展了11个类并将65kb的.puts放在构造函数或者static { }.

一切都很好,但是当我运行它时,订单就会被打乱.对于这么多行,我无法在扩展顺序或地图中跟踪出错的地方.

那么,请告诉我你在java中填写最终地图的最佳方式是什么.

PS:从文件加载和解析记录太慢了......

java initialization hashmap map

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

C++:如何在类中声明一个空的私有静态向量?

可能重复:
初始化私有静态成员

这真的让我发疯,我想在我将用作共享内存的类中声明一个静态私有向量.

我的矢量声明是这样的:

private: static vector< pair< string, bool > > flags;
Run Code Online (Sandbox Code Playgroud)

这是在类中完成的,但是如何将其初始化为空向量?最好的情况是如果init本身就在类中,因为我需要在很多地方使用它.另一种选择就是main()但仅此而已.

我有setFlag()和getFlag()方法使用向量,但它给了我各种链接器错误,因为只有声明,没有定义!

c++ static initialization class

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

Symfony 2:如何通过路由名称获取路由默认值?

是否可以通过名称检索某条路线的信息,或获取所有路线的列表?

我需要能够获取任何路由的_controllerdefaults,而不仅仅是当前路径.

这可能吗?怎么样?

PS:我发现我可以获得使用YAML路线的路径,但是重新分析它似乎是不必要的和沉重的.

php routes symfony

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

ZF2:以正确的方式完成依赖注入

我是ZendFramework 2和整个DI想法的新手.

这是我需要实现的:

  1. 创建许多扩展单个AbstractModel的Model类
  2. 使用具有依赖关系的DI(在我的情况下是doctrine实体管理器)提供AbstractModel
  3. 在我需要的地方使用祖先类作为普通类

为了更好地解释3.让我们看看这个例子:

class Ancestor extends Parent { }
Run Code Online (Sandbox Code Playgroud)

在控制器中,或理想情况下在任何地方:

$ancestor = new Ancestor();
$ancestor->doStuffWithEntityManager();
Run Code Online (Sandbox Code Playgroud)

Uppon初始化祖先它必须已经知道注入的资源.

这甚至可能吗?如果不使用它的默认形式我可以通过一些服务管理器等初始化祖先,只要我不需要指定每个祖先.我需要告诉zend:将这个和那个注入到扩展/实现X的每个类中.

有任何想法吗?

PS:正如我所说我是新手,所以请指定我必须添加每个示例代码的配置/类文件.

php dependency-injection zend-framework class zend-framework2

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

Android:OpenGL:glGenTextures 在构造函数中不起作用?

谁能告诉我为什么glGenTextures()在我的构造函数中不起作用?

这是我的项目的设置方式:

  • 使用调用.draw当前活动阶段的自定义渲染器。
  • 创建阶段时,它将自身(其构造函数的结束行)分配给 static Global.activeStage
  • 现在渲染器调用.draw当前处于活动状态的阶段,该阶段的引用保存在Global.activeStage.
  • 在舞台上,我有一个函数可以加载舞台上需要的所有纹理。
  • 如果我第一次调用这个函数.draw就没有问题。
  • 如果我在构造函数中调用它,除了glGenTextures()- 它创建一个零值而不是 1..2..3 等等,一切都有效。
  • 在这两种情况下,都使用全局GL10引用而不是.draw获取,所以这不是问题。

似乎一切都只在已经存在对我正在使用的当前阶段的引用时才有效(如果该阶段已创建,例如构造函数已经运行)。

我不确定它是否相关,但舞台是在onCreateSurface结束后在线程中创建的。

如果你说哪些部分是相关的,我可以发布一些代码。

java sdk android opengl-es

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

动态地将方法体重新分配给对象

是否有可能让类A使用空方法说render()..然后你创建了3个类的实例,所以你有对象b, c, d,那么我可以为每个对象分配渲染方法的实体吗?

这是一个例子,在JavaScript中你可以有一个对象说a,然后你可以说的任何地方

a.method = function() { /* do something */ }
Run Code Online (Sandbox Code Playgroud)

在该行之后,您将拥有一个带有method该对象名称的方法,a并且每当被调用它时/* do something */.

这在Java中是否可行,语法是什么?

我的想法是创建一个button类,并click在其使用的不同情境/上下文中为其实例的方法分配不同的操作,因此我不必为每个操作定义不同的子类.

java methods overriding class dynamic

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