小编mat*_*jay的帖子

如何在Doctrine查询生成器(Symfony)中使用countDistinct

我试图计算为他的查询返回的不同ID数:

$query = $repo->createQueryBuilder('prov')
        ->select('c.id')
        ->innerJoin('prov.products', 'prod')
        ->innerJoin('prod.customerItems', 'ci')
        ->innerJoin('ci.customer', 'c')
        ->where('prov.id = :brand')
        ->setParameter('brand', $brand)
        ->countDistinct('c.id')
        ->getQuery();
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Attempted to call method "countDistinct" on class "Doctrine\ORM\QueryBuilder" [...]
Run Code Online (Sandbox Code Playgroud)

我也试过了

$query = $repo->createQueryBuilder('prov')
        ->select('c.id')
        ->innerJoin('prov.products', 'prod')
        ->innerJoin('prod.customerItems', 'ci')
        ->innerJoin('ci.customer', 'c')
        ->where('prov.id = :brand')
        ->setParameter('brand', $brand)
        ->expr()->countDistinct('c.id')
        ->getQuery();
Run Code Online (Sandbox Code Playgroud)

这会导致此错误:

Error: Call to a member function getQuery() on a non-object in
Run Code Online (Sandbox Code Playgroud)

关于如何以不同的方式执行此操作,我无法获得任何其他指示.

谁有人建议解决方案?在此输入链接描述

query-builder symfony doctrine-orm

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

在Symfony/SonataUserBundle设置中调用方法setCurrentUri失败

我正在尝试使用SonataUserBundle设置Symfony.用户注册和登录工作正常.当我尝试调用/profile视图时,我收到以下错误:

Attempted to call method "setCurrentUri" on class "Knp\Menu\MenuItem" in F:\<my project path>\vendor\sonata-project\user-bundle\Block\ProfileMenuBlockService.php line 91. Did you mean to call: "setCurrent"?
Run Code Online (Sandbox Code Playgroud)

错误发生前"事件列表"中的最后一个通知

INFO - [cms::renderBlock] block.id=53, block.type=sonata.user.block.menu
Run Code Online (Sandbox Code Playgroud)

有没有人之前遇到此错误,可以提供有关如何解决它的信息?

TIA Matt

symfony knpmenubundle sonata-user-bundle

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

"耙路"应该运行多久?

我刚开始使用Rails,请原谅我相当基本的问题.我已经注意到rake routes每次运行它时命令都需要一段时间才能执行.我有大约20个3个控制器的路由,执行大约需要40秒.

这是正常的吗?我怎么能加快速度呢?

PS:我在Windows 7上使用Rails 3.1.3(使用Rails安装程序设置).

rake routes ruby-on-rails

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

如何根据同意 cookie 控制 Nuxt 中的 Google Analytics 跟踪?

我使用@nuxtjs/google-analytics实现了 Google Analytics 跟踪

我现在想根据用户的同意来控制是否正在跟踪用户。我发现nuxt-cookie-control,它似乎允许收集同意。

根据@nuxtjs/google-analytics // vue-analytics的文档this.$ga.disable(),如果用户不同意,这似乎只是调用的问题。

然而,我在一些早期的摆弄工作中注意到,每当我调用 时this.$ga.disable(),它似乎在下一次刷新之后就不会生效。

该文档还指出“选择退出需要在跟踪器或队列初始化之前进行”。

我有点不知道在应用程序中如何/在哪里需要调用this.$ga.disable(). 有人能给我指点吗?

cookies google-analytics nuxt.js

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

如何使用Factory Girl和random_data使用seed.rb正确随机化数据?

我通过尝试使用一个简单的脚本填充我的数据库来生成测试数据,该脚本为我的模型创建了足够数量的记录来计算所有依赖项(特别是多态性).

这是我的 seeds.rb

require 'factory_girl_rails'

50.times do

  @user = FactoryGirl.create(:user)
  FactoryGirl.create(:contact, :user => @user)

  @question = FactoryGirl.create(:question, :user => @user)

  FactoryGirl.create(:user_answer, :question => @question, :authorable => @user)

  @contact = FactoryGirl.create(:contact, :user => @user)
  FactoryGirl.create(:contact_answer, :question => @question, :authorable => @contact)

end
Run Code Online (Sandbox Code Playgroud)

举个例子,这里是question工厂:

FactoryGirl.define do
  factory :question do
    title       "What is the best place to travel in " + Random.country + "?"
    body        Random.paragraphs(2)
    association :user, :method => :build
  end
end
Run Code Online (Sandbox Code Playgroud)

虽然Random该类确实生成了一个随机项,但对于创建的所有实例,该术语保持不变.在这种情况下,我会得到50个问题,比如说,"在西班牙旅行的最佳地点是什么?" 和每个相同的两段文字.

我错过了什么?

factories ruby-on-rails-3 factory-bot

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

如何在闪亮的仪表板应用程序中包含远程JavaScript文件?

如何使用shinydashboard在我的应用程序中包含远程JS文件?我知道有这个includeScript功能.我试过了

...

# using shiny dashboard
ui <- dashboardPage(

  includeScript("http://the.path.to/my/js-file.js")

  dashboardHeader(
    title = "My title",
    titleWidth = 400
  ),

...
Run Code Online (Sandbox Code Playgroud)

这会导致错误:

Error in tagAssert(header, type = "header", class = "main-header") : 
Expected tag to be of type header
Run Code Online (Sandbox Code Playgroud)

我试图将调用放在其他地方,将其与其结合tags$head,在本地存储JS文件并使用本地路径引用加载它,但无济于事.

所以我坚持以下问题?

  1. 我可以实际使用includeScript远程资源的路径吗?
  2. 我在哪里需要加载哪个指令来加载JS文件(以及JS文件需要驻留在哪里)?

@daattali已经提出了一个解决方案,用于纯粹的基于Shiny的实现(没有shinydashboard)使用tags$head,但这似乎不适用于shinydashboard.

r shiny shinydashboard

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

表单提交后使用'render'时不显示Flash消息

在提交失败的表单后,我无法收到要显示的Flash消息.

这是表格:

<%= form_for @question do |q| %>

  <p>
    <b>Your question</b><br />
    <%= q.text_field :title, :size => 48 %>
  </p>
  <p>
    <b>Add more details</b><br />
    <%= q.text_area :body, :size => "80x10" %>
  </p>
  <p>
    <%= q.submit %>
  </p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这是处理它的控制器的一部分:

def create
    @question = current_user.questions.build(params[:question])
    if @question.save
      redirect_to questions_path, :flash => { :success => "Your question was saved!" }
    else
      flash.now[:alert => "There was a problem when trying to save your question!"]
      render 'new'
    end
  end
Run Code Online (Sandbox Code Playgroud)

该操作的模板文件只new …

forms ruby-on-rails-3

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

如何在Symfony(嵌入)表单中解决此数据类型冲突?

我正在尝试建立一个表格来回答一个小调查.

在使用我的表单加载页面时,我收到此错误:

表单的视图数据应该是标量,数组或\ ArrayAccess的实例,但是类VS\myproject\UserBundle\Entity\User的实例.您可以通过将"data_class"选项设置为"VS\myproject\UserBundle\Entity\User"或添加视图转换器来将类VS\myproject\UserBundle\Entity\User的实例转换为标量,数组或\ ArrayAccess的一个实例.

我无法在第一时间看到我将使用User实体的位置,并且很难从这个错误消息中做出一些事情.有人可以帮忙吗?

附加信息

堆栈跟踪

in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Component\Form\Form.php at line 353   + 

at Form ->setData (object(User)) 
in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper.php at line 57   + 

at PropertyPathMapper ->mapDataToForms (object(CustomerSurvey), object(RecursiveIteratorIterator)) 
in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Component\Form\Form.php at line 385   + 

at Form ->setData (object(CustomerSurvey)) 
in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Component\Form\Form.php at line 477   + 

at Form ->initialize () 
in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Component\Form\FormBuilder.php at line 230   + 

at FormBuilder ->getForm () 
in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Component\Form\FormFactory.php at line 39   + 

at FormFactory ->create (object(CustomerSurveyType), object(CustomerSurvey), array()) 
in <myprojectdirectorypath>\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.php at line 181  + 

at Controller ->createForm …
Run Code Online (Sandbox Code Playgroud)

forms symfony

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