php-symfony当函数服务中的变量为true时,如何创建弹出消息



我有一个函数可以导入excel文件,他在服务类中。当查询$result为true或false($result是布尔值(时,我不想在表单模板中发送弹出式消息。

我知道"addFlash",但它不在控制器中,但$result在控制器调用的服务函数中。

有一个代码在服务:

$result = mysqli_query($conn, $query);
if ($result == true) {
/* Here i want to put the confirmation message*/
} else {
/* Here i want to put the fail message*/
}

这里的代码在控制器:

$targetPath = '../var/uploads/'.$inputFileName;
$importer->import($targetPath); /*function called of the service*/
return $this->render('upload/form.html.twig', [
'importResult' => 'ImportController',
]);

我知道"addFlash",但它不在控制器中,但$result在控制器调用的服务函数中

我不明白,但试着从服务中返回您的消息,例如:

if ($result == true){
$message = 'Your message here';
}else{
$message = 'Your fail message here';
}
return $message;

然后从控制器。。。

如果你想要闪存信息:

$message = $importer->import($targetPath);
$this->addFlash('message',$message);
return $this->render('upload/form.html.twig', [
'importResult' => 'ImportController',
]);

或者,如果您想手动操作响应,请尝试:

$message = $importer->import($targetPath);
return $this->render('upload/form.html.twig', [
'importResult' => 'ImportController',
'message' => $message;
]);

最新更新