首页 > 解决方案 > 如何从 $_POST 传递单个参数?

问题描述

我正在尝试使用来自 twig 的 $_POST 将一些数据(idUser + idEvaluation)输入到我的控制器中的变量($value)中。如果我使用了错误的术语,我很抱歉——我是信息学的新手……

当我转储 $value 时,我可以看到 idUser 和 idEvaluation 在里面。

然后,我的目标是将这些检索到的数据放入数据库中的表中(以更新我的数据库)

为此,我在数据库中创建了一个目标表的对象(我要更新的那个),并为我想要设置的列(评估或用户)中的每个项目传递了我的 $value。

我的问题是:如何为每个字段传递一个 SINGLE 参数,例如,现在我总是同时传递两个参数(idUser + idEvaluation),setIdEvaluation 和 setIdUser 之间没有区别——它们都包含 idUser + idEvaluation。虽然我想在 setIdUser 中只有(idUser),而在 setIdEvaluation 中只有(idEvaluation)。

(我已尽力解释我的问题 - 对不起,如果我把它弄得有点乱,如有必要,我会尽力澄清细节)

谢谢!

//In my controller    

$value = $_POST;     // what I receive from twig 


    $EvalUser = new EvaluationUser();  // I create and object of the table in database that I want to update

    $EvalUser->setIdEvaluation($value); // here I (am trying to) put received data into a IdEvaluation 
    $EvalUser->setIdUser($value);   // here I (am trying to) put received data into a IdUser

    dump($EvalUser);     // I dump a variable and I have IdEvaluation and IdUser in both cases (which is normal, of course)

标签: symfonycontrollertwig

解决方案


你的$_POST变量是一个数组。您可以通过告诉数组您想要什么键来访问各个值。所以在你的情况下,你想要$_POST['idUser']并且$_POST['idEvaluation']

或完整代码:

$EvalUser = new EvaluationUser();  

$EvalUser->setIdEvaluation($_POST['idEvaluation']); 
$EvalUser->setIdUser($_POST['idUser']);  

var_dump($EvalUser); 

推荐阅读