Несколько форм логики, Laravel - PullRequest
0 голосов
/ 06 ноября 2018

Я все еще изучаю Laravel, поскольку сейчас я пытаюсь выполнить следующую логику:

- Пользователь отправляет форму-> Ввод формы сохраняется в БД и «отправляется» другому пользователю, который затем может ее проверить -> Я сохраняю в БД, если состояние подтверждено или нет, и информирую Пользователь, который отправил форму.

Я знаю, что это не так уж сложно, но я делаю это, изучая Laravel, поэтому у меня возникает несколько «проблем».

Прежде всего, у меня довольно много форм, и я получил работающую логику Post. В данный момент я еще не работаю с базой данных, поэтому я проверил формы с помощью SESSION, чтобы убедиться, что данные сохраняются.

Итак, мой первый вопрос: лучше ли в этом случае хранить всю логику формы в одном контроллере? Подобно следующему (это работает с двумя различными формами) (сеанс существует только для целей тестирования)

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostController extends Controller
{

    public function geralSuggest(Request $request)
    {

        $name = $request->input('obs');

        return redirect('sugestoes');
    }

    public function GD(Request $request)
    {

        session_start();

        $name = $request->input('nome');
        $cc = $request->input('cartao');
        $array = array ($name, $cc);
        $_SESSION["testPostSection"] = $array;        

        return redirect('declaracaogd');   
    }
}

Во-вторых, у меня есть несколько форм, где пользователь может добавлять входные данные. Допустим, один ввод предназначен для имени, и у пользователя есть кнопка, которая, когда он щелкает, добавляет другой ввод имени, поэтому он может вводить сразу несколько имен. Это сделано Javascript на моей стороне. Что мне интересно, так это как я буду сохранять эти входные данные, поскольку я «не знаю», сколько «имен» будет отправлять пользователь. Я думал о цикле for или foreach, где я проверял бы «isset», но я не уверен, сработает ли это. Я буду проверять это, когда доберусь до этого независимо, и я уверен, что я это выясню, но если вы знаете хорошую логику для этого и могли бы указать мне правильный путь, это будет оценено.

И наконец, о моей общей логике проверки пользователей, из того, что я прочитал в документации Laravel, я думаю, что события будут тем, что заставляет триггер «предупреждать» второго пользователя, что ему нужно проверить форму, это правильно?

Извините, если я задаю «слишком много сразу» или это очень простые вопросы. Я просто хотел убедиться, что я иду в правильном направлении.

Заранее большое спасибо!

1 Ответ

0 голосов
/ 06 ноября 2018

Я не уверен, правильно ли я понимаю вашу систему на 100%. Но, кажется, вы пытаетесь сделать программу проверки человека? Таким образом, 1 пользователь отправляет данные, а другой пользователь проверяет эти данные. В этом случае я бы сделал это на 2 отдельных контроллерах. Объяснение Laravels о контроллерах гласит: «Контроллеры могут группировать связанную логику обработки запросов в один класс». Предоставление данных или проверка данных - это две разные вещи. Но это не строгое правило.

По второму вопросу. У Laravel есть метод all (). $input = $request->all(); даст вам массив, все запросит данные. После этого вы можете перебрать массив и вставить его в БД или в нужный вам метод хранения.

Редактировать: другой способ справиться с этим, если у вас может быть несколько имен, может быть:

// View
<input type="text" name="names[]">
<input type="text" name="names[]">

// Controller
$request->names; // This is an array of values

Источник: https://laracasts.com/discuss/channels/laravel/get-the-values-of-dynamically-generated-inputs

А события - это действительно путь, если вы хотите отправить сообщение. так что вы можете запустить событие, как только данные будут отправлены. И один из слушателей отправил бы электронное письмо или что-то в этом роде

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...