我有一个函数可以导入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;
]);