创建一个统计表,以供以教义进行呼叫



我正在尝试设置一个eoctrine表,例如:

Provider Caller CallsRequested CallsFailed
X          A       20              1
Y          B       15              0
X          B       5               0

等等。我目前正在这样做:

$repository = $this->entityManager->getRepository(Stats::Class);

     $stats = $repository->findBy(
      array('provider' => $provider, 'CallCenter'=> $callCenterContact));   //returns NULL

        if (!$stats) {
            $stats = new stats;
            $stats->setProvider($provider);
            $stats->setCallCenter($callCenterContact);
            $stats->setCalls_Requested(1);
            $this->entityManager->persist($stats);
            $this->entityManager->flush();
          }
          else{
            $count=$stats->getCalls_Requested();
            $stats->setCalls_Requested($count+1);
            $id =  $stats->getId();      
            $stats->setId($id);
            $this->entityManager->persist($stats); 
             $this->entityManager->flush();
          }

但是我遇到了两个问题:

  • 它为我为每个呼叫请求创建了一个行,带有新ID,
  • 它不会增加呼叫的数量。

我该怎么做?

否则请尝试此

        else{
            $count=$stats->getCalls_Requested();
            $stats->setCalls_Requested($count+1);
            $this->entityManager->merge($stats); 
             $this->entityManager->flush();
          }

我遇到了两个问题,一个是因为我的一个柱子的大小是简短的,因此DB中的磁场和我要插入的一个区域是不同的。第二个是我的$统计数据是一个数组,所以我无法操纵他。我做了以下内容以备将来参考:

 $repository = $this->entityManager->getRepository(Stats::Class);
    $stats = $repository->findBy(
  array('provider' => $provider, 'CallCenter'=>$callCenterContact));   

    if (!$stats) {
        $stats = new stats;
        $stats->setProvider($provider);
        $stats->setCallCenter($callCenterContact);
        $stats->setCalls_Requested(1);
        $this->entityManager->persist($stats);
        $this->entityManager->flush();
      }
      else{
        $stats[0]->setCalls_Requested($stats[0]->getCalls_Requested()+1);
        $this->entityManager->persist($stats[0]); 
         $this->entityManager->flush();
      }

相关内容

  • 没有找到相关文章

最新更新