- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个库存系统。我想使用 ResultSetMapping 显示库存中商品的余额。我按照http://doctrine-orm.readthedocs.io/en/latest/reference/native-sql.html#examples中显示的示例进行操作但我收到错误“类'RequestItem'不存在 - 500 内部服务器错误 - MappingException”
namespace ECA\InventoryBundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use ECA\InventoryBundle\Entity\RequestItem;
use ECA\InventoryBundle\Form\RequestItemType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Doctrine\ORM\Query\ResultSetMapping;
/**
* RequestItem controller.
*
* @Route("/requestitem")
*/
class RequestItemController extends Controller
{
/**
* Calculate and display balance
*
*@Route("/balance", name="requestitem_balance")
*@Method("GET")
*/
public function balanceAction()
{
$rsm = new ResultSetMapping;
$rsm->addEntityResult('RequestItem', 'r');
$rsm->addFieldResult('r','item_id', 'id');
$rsm->addScalarResult('SUM(r.quantity)', 'used');
$rsm->addJoinedEntityResult('Item' , 'i', 'r','item');
$rsm->addFieldResult('i', 'name','name');
$rsm->addFieldResult('i', 'quantity','quantity');
$rsm->addScalarResult('(i.quantity - SUM(r.quantity))', 'balance');
$sql = "SELECT i.name, r.item_id, i.quantity, SUM(r.quantity) AS used,
(i.quantity - SUM(r.quantity)) AS balance
FROM request_item r INNER JOIN item i ON i.id=r.item_id GROUP BY r.item_id";
$em = $this->getDoctrine()->getManager();
$query = $em->createNativeQuery($sql, $rsm);
$itemBalance = $query->getResult();
$form = $this->createFormBuilder($itemBalance)
->add('item_id', TextType::class, array('attr' =>array('class' =>'form-control', 'style' =>'margin-bottom:15px')))
->add('name', TextType::class, array('attr' =>array('class' =>'form-control', 'style' =>'margin-bottom:15px')))
->add('quantity', TextType::class, array('attr' =>array('class' =>'form-control', 'style' =>'margin-bottom:15px')))
->add('used', TextType::class, array('attr' =>array('class' =>'form-control', 'style' =>'margin-bottom:15px')))
->add('balance', TextType::class, array('attr' =>array('class' =>'form-control', 'style' =>'margin-bottom:15px')))
->getForm();
return $this->render('requestitem/balance.html.twig', array('itemBalance'=> $itemBalance, 'form' => $form->createView()));
}
但是 RequestItem 类存在
namespace ECA\InventoryBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* RequestItem
*
* @ORM\Table(name="request_item")
* @ORM\Entity(repositoryClass="ECA\InventoryBundle\Repository\RequestItemRepository")
*/
class RequestItem
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="date")
*/
private $date;
/**
* @var int
*
* @ORM\Column(name="quantity", type="integer")
*/
private $quantity;
/**
* @var string
*
* @ORM\Column(name="client", type="string", length=255)
*/
private $client;
/**
* @var string
*
* @ORM\Column(name="remark", type="text", nullable=true)
*/
private $remark;
/**
* @var \ECA\InventoryBundle\Entity\Item
*
* @ORM\ManyToOne(targetEntity="ECA\InventoryBundle\Entity\Item")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="item_id", referencedColumnName="id")
* })
*/
private $item;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set date
*
* @param \DateTime $date
*
* @return RequestItem
*/
public function setDate($date)
{
$this->date = $date;
return $this;
}
/**
* Get date
*
* @return \DateTime
*/
public function getDate()
{
return $this->date;
}
/**
* Set quantity
*
* @param integer $quantity
*
* @return RequestItem
*/
public function setQuantity($quantity)
{
$this->quantity = $quantity;
return $this;
}
/**
* Get quantity
*
* @return int
*/
public function getQuantity()
{
return $this->quantity;
}
/**
* Set client
*
* @param string $client
*
* @return RequestItem
*/
public function setClient($client)
{
$this->client = $client;
return $this;
}
/**
* Get client
*
* @return string
*/
public function getClient()
{
return $this->client;
}
/**
* Set remark
*
* @param string $remark
*
* @return RequestItem
*/
public function setRemark($remark)
{
$this->remark = $remark;
return $this;
}
/**
* Get remark
*
* @return string
*/
public function getRemark()
{
return $this->remark;
}
/**
* Set item
*
* @param \ECA\InventoryBundle\Entity\Item $item
*
* @return RequestItem
*/
public function setItem(\ECA\InventoryBundle\Entity\Item $item = null)
{
$this->item = $item;
return $this;
}
/**
* Get item
*
* @return \ECA\InventoryBundle\Entity\Item
*/
public function getItem()
{
return $this->item;
}
}
我在 XAMPP (PHP7) 上使用 Symfony3。我已经在 Mysql 中测试了我的查询,它按预期工作。
我做错了什么?任何想法?谢谢
最佳答案
您正在为 SUM 值设置别名,因此您需要使用别名来映射它们。
$rsm->addScalarResult('SUM(r.quantity)', 'used');
...
$rsm->addScalarResult('(i.quantity - SUM(r.quantity))', 'balance');
更改为
$rsm->addScalarResult('used', 'used');
...
$rsm->addScalarResult('balance', 'balance');
关于mysql - 交响乐团 3 : ResultSetMapping generate Mapping Exception error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40014118/
我有一个 symfony 应用程序,它提供 RESTful API(用于移动应用程序)并具有后端管理。 我可以通过facebook成功登录后端,但是我应该如何允许通过RESTful API登录? 最佳
配置使用: doctrine: dbal: driver: "%database_driver%" .... orm: auto_generate_proxy_classes:
当我关注this documentation时在我的应用程序中“集成 IvoryCKEditorBundle 以创建所见即所得编辑器”时,出现以下错误: [Symfony\Component\Debu
我正在尝试自定义 sfGuardUser 模块的形式。安装 sfGuardDoctrinePlugin 后,我遵循 Symfony 的级联配置约定并创建了以下结构: apps/backend/modu
我需要实现分页。貌似 Doctrine 不支持某些关节。 这是我的查询: $query = $this->getEntityManager() ->createQueryB
在 Symfony2 中,重写 RoutingExtension 非常简单,我可以注入(inject)一些额外的参数。 我正在使用动态域路由到应用程序的不同部分。 {subdomain}.domain
我正在阅读 Symfony 文档(Practical Symfony),并且我使用 propel 完成了 SQL 代码的创建。 但是当我尝试 $ symfony propel:insert-sql M
我正在使用 symfony 3 中的 Gard 在身份验证系统中工作, 当我使用时 $request->getSession()->set(Security::AUTHENTICATION_ERROR
我正在使用 symfony 3 中的 Gard 在身份验证系统中工作, 当我使用时 $request->getSession()->set(Security::AUTHENTICATION_ERROR
我有一个组件,它已经愉快地构建和渲染菜单一段时间了。现在我必须提供一个特殊的情况,它共享所有相同的逻辑,但需要在现有的基础上做一些工作。我想做的是创建一个新的组件操作,该操作将进行必要的预处理,转入共
我有 jquery 发送 AJAX 请求,执行一些检查,然后应该重定向到另一个页面或返回数据。一切工作正常,除了我无法在我的操作文件中强制重定向。我试过: $this->redirect('@new_
我正在创建一个库存系统。我想使用 ResultSetMapping 显示库存中商品的余额。我按照http://doctrine-orm.readthedocs.io/en/latest/referen
我正在尝试使用 bundle HWIOAuthBundle 将我的 Symfony 5 应用程序连接到 Azuse 从 Microsoft 网站重定向后,我收到以下消息:“发生身份验证异常。” 我的
我正在向 Symfony 应用程序添加一个 API,该应用程序应充当 REST Web 服务。但还有一些 Unresolved 问题。 机器人的不同 URI? 我经常阅读“建议”使用像 /api/:i
我的 Symfony 代码有点卡住了。 让我解释一下, 我的数据库中有一个待办事项列表表,其中包含: ID 名为:id 名为:todo 的名称字段 还有其他 3 个无关紧要的字段:“completed
我有一个自定义验证器,我可以在其中获取实体中定义的字段之一的值,然后我想使用内置验证器(例如 NotBlank())验证该字段,以便在验证后我如果字段经过验证,则获取“true”;如果未验证,则获取“
我以前从未使用过 Javascript,但现在我在我的 Symfony 项目 (Symfony 1.4) 中需要它,并且对于在哪里添加代码以使其正常工作存在一些问题: 我在“aktionLimit”模
我是一名优秀的程序员,十分优秀!