小编Jea*_*aud的帖子

学说:与左连接的分页

我想用至少2个左连接对复杂请求进行分页,但我正在使用的分页包(KnpPaginationBundle)无法告诉Doctrine如何计算结果(这是分页过程所需的),并继续这样做例外.

Cannot count query which selects two FROM components, cannot make distinction

这是使用Doctrine QueryBuilder构建的示例请求.

public function findGroupsByUser(User $user, $listFilter, $getQuery = false, $order = 'ASC')
{
    $query = $this->createQueryBuilder('r')
        ->select('r as main,g')
        ->select('r as main,g, count(gg) as members')
        ->leftjoin('r.group', 'g')
        ->innerjoin('MyBundle:GroupMemberRel', 'gg', 'WITH', 'r.group = gg.group')
        ->addGroupBy('g.groupId')
        ->add('orderBy', 'g.name ' . $order);
   if ($getQuery == true) {
        return $query;
    }

    return $query->getQuery()->getResult();
}
Run Code Online (Sandbox Code Playgroud)

然后我将此请求提供给knp_paginator服务,然后我就得到了异常

    $groupQuery = $this->em->getRepository('MyBundle:GroupMemberRel')->findGroupsByUser($user, $listFilter, true);
    $paginator = $this->container->get('knp_paginator');
    /* @var $groups Knp\Component\Pager\Pagination\PaginationInterface */
    $groups …
Run Code Online (Sandbox Code Playgroud)

pagination symfony doctrine-orm

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

Zend Framework 2:让我们做或不做?

这是当你检查Zend框架主页时出现的那种问题:自11月中旬以来首次发布测试版.

作为一个热心的Zend框架用户,我想知道什么时候应该开始升级,他们还警告我们下一个ZF版本1.12将帮助我们升级过程,但是因为我想开始一个大项目,不确定什么是最安全的道路,有什么想法吗?

zend-framework zend-framework2

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

最佳方法包含Symfony2的第三方文件

我想知道在symfony2中包含第三方php文件的最佳方法是什么.我使用不同的php - ajax包在我的symfony2应用程序中上传文件.该软件包为我提供了一些我需要在我的symfony控制器中使用的php oops代码.我在我的控制器中创建该代码的对象.所以我想知道我可以在哪里放置第三方代码或文件,以及如何在我的symfony2控制器中包含或创建该代码的对象.我们是否也在symfony2中使用require或include.如果那是唯一的方法.

symfony

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

使用symfony更改语言环境2.1

有一些问题在symfony 2.1网站上更改区域设置.

我找不到一种能够在不使用_locale每条路线的情况下更改lang的方法.我知道这是违反基本规则的,但是这个内容例如不会被引擎索引,因为它只是成员.

通常,我想要一个简单的方法来更改请求(BC版本2.1)或会话上的区域设置,但无法弄清楚如何顺利地执行此操作.我也想避免使用Listener.

config.yml文件:

framework:
    translator:      { fallback: %locale% }
    session:
Run Code Online (Sandbox Code Playgroud)

routing.yml文件:

route_change_lang:
    pattern:   /changelang/{newlang}
    defaults:  { _controller: AcmeCoreBundle:Default:switchLanguage, newlang: en }
    requirements:
        newlang: en|fr|de
Run Code Online (Sandbox Code Playgroud)

更新路由器区域设置的简单操作:

public function switchLanguageAction($newlang)
{

    $request = $this->getRequest();

    $request->setLocale($newlang);

    $referer_url = $this->get('request')->headers->get('referer');
    if ($referer_url != null) {
        return $this->redirect($referer_url);
    } else {
        return $this->redirect($this->generateUrl('route_home'));
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是什么?我想它与主config.yml文件中设置的default_locale有关,但是文档不是很清楚,任何帮助/提示都表示赞赏

php symfony symfony-2.1

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

如何使用Knp Labs可翻译原则行为访问翻译后的属性

我正在使用可翻译的学说,并且我有一个具有可翻译属性的实体。看起来像这样。

class Scaleitem
{
    /**
     * Must be defined for translating this entity
     */
    use ORMBehaviors\Translatable\Translatable;

    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
}
Run Code Online (Sandbox Code Playgroud)

而且我有一个文件ScaleitemTranslation:

class ScaleitemTranslation
{
    use ORMBehaviors\Translatable\Translation;

    /**
     * @ORM\Column(type="string", length=255)
     */
    protected $text;


    /**
     * Set text
     *
     * @param string $text
     * @return ScaleitemTranslation
     */
    public function setText($text)
    {
        $this->text = $text;

        return $this;
    }

    /**
     * Get text
     *
     * @return string 
     */
    public function getText()
    {
        return $this->text;
    }
} …
Run Code Online (Sandbox Code Playgroud)

doctrine symfony

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