php symfony Как создать всплывающее (веточку) сообщение, когда переменная имеет значение true в сервисе функций? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть функция, которая может импортировать файл Excel, он находится в классе обслуживания. Когда запрос $ result равен true или false ($ result является логическим значением), я не хочу отправлять сообщение в виде всплывающего окна в шаблон формы.

Я знаю «addFla sh» но в контроллере нет, а $ 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',
]);

1 Ответ

0 голосов
/ 17 марта 2020

Я знаю "addFla sh", но в контроллере нет, но $ result находится в сервисной функции, вызываемой контроллером

Я не понимаю этого, но попробуйте вернуть ваше сообщение от службы, например:

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

return $message;

Затем от контроллера ...

Если вы хотите fla sh сообщение:

$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;
       ]);
...