Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用FOSRest和Symfony解决完整性约束冲突错误_Php_Angularjs_Symfony_Fosrestbundle_Jmsserializerbundle - Fatal编程技术网

Php 使用FOSRest和Symfony解决完整性约束冲突错误

Php 使用FOSRest和Symfony解决完整性约束冲突错误,php,angularjs,symfony,fosrestbundle,jmsserializerbundle,Php,Angularjs,Symfony,Fosrestbundle,Jmsserializerbundle,我想创建应用程序,witch可以通过RESTfulAPI将一些数据从Angular前端放到Symfony后端。现在一切都很好,但现在我遇到了一些麻烦。我正在使用FOSRestBundle和JMSSerializer 尝试创建新实体时,出现以下错误: “执行“插入到活动(名称、, 分支)带有参数[null,null]:SQLSTATE[23000]的值(?,): 完整性约束冲突:1048列“名称”不能为空“ 我的符号代码 公共函数CreateActiveAction(请求$Request) { $

我想创建应用程序,witch可以通过RESTfulAPI将一些数据从Angular前端放到Symfony后端。现在一切都很好,但现在我遇到了一些麻烦。我正在使用FOSRestBundle和JMSSerializer

尝试创建新实体时,出现以下错误:

“执行“插入到活动(名称、, 分支)带有参数[null,null]:SQLSTATE[23000]的值(?,): 完整性约束冲突:1048列“名称”不能为空“

我的符号代码

公共函数CreateActiveAction(请求$Request)
{
$campaign=新活动();
$form=$this->createForm(新的活动类型(),$campaign);
$form->bind($request);
如果($form->isValid()){
$em=$this->getDoctrine()->getManager();
$em->persist($campaign);
$em->flush();
返回['status','OK'];
} 
返回['status'=>$form];
}
活动类型

类活动类型扩展了AbstractType
{
/**
*@param FormBuilderInterface$builder
*@param数组$options
*/
公共函数buildForm(FormBuilderInterface$builder、array$options)
{
$builder
->添加('名称')
;
}
/**
*@param options ResolverInterface$resolver
*/
公共函数setDefaultOptions(选项ResolvePrinterface$resolver)
{
$resolver->setDefaults(数组(
“数据\u类”=>“XXX\XXX\Entity\Campaign”
));
}
/**
*@返回字符串
*/
公共函数getName()
{
回归"运动",;
}
}
棱角分明

$scope.createCampaign = function () {
        requestData = {"campaign": {name: "itWorks"}};
        $http.post("/api/add-campaign", requestData, {
            headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
        }).success(function (responseData) {
            console.log(responseData);
        }).error(function(responseData){
              console.log(responseData);
        });
    };
看起来没有收到任何数据,如何修复?

错误消息很明显说明了问题所在。您已经向查询传递了2个空值,即可能没有任何值作为参数发送requestData={“活动”:{name:“itWorks”};当我转储$content=$request->getContent()时;它是数组中的数组吗