我正在尝试从Symfony,
在SQL Server 2012上执行此存储过程CREATE PROCEDURE sp_cumplerequisito @param integer
AS
IF (select count(*) from [dbo].[cumplerequisito]
where estado=1 and inscripcion_id=@param) = (select count(*) from [dbo].[requisito]
where estado=1)
RETURN 1
ELSE
RETURN 0;
GO
我需要存储过程的返回值,所以我从Symfony尝试了这个:
$rsm = new ResultSetMapping();
$query = $em->createNativeQuery('EXEC sp_cumplerequisito 1', $rsm);
$query->setParameter('param', 1);
$result = $query->getResult();
然后我尝试使用此代码以使用$ result值
if ($result ==1){
$mensaje = 'Estudiante ha cumplido todos los requisitos';
return $this->render('academicoBundle:Default:estudiantematriculado.html.twig', array('mensaje' => $mensaje));
}else{
$mensaje2 = 'Estudiante no ha cumplido todos los requisitos';
return $this->render('academicoBundle:Default:estudiantematriculado.html.twig', array('mensaje' => $mensaje2));}
但是我有这个回复" SQLSTATE [IMSSP]:查询的活动结果不包含任何字段。 "
我真的很感激任何帮助。
答案 0 :(得分:0)
说实话你在你的数据库中做过程。构建Doctrine ORM
是为了省略这些事情并将事物从DB移到PHP。因此,例如,如果你想在更新/插入后增加字段你必须使用doctrine lifecycle callbacks
,那么你应该将这个程序移到你的repository class