Красноречивое обновление не работает в Laravel 6 - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь обновить поле после отправки в следующей форме:

   <form action="{{ route("comments.update") }}" method="post">

                @csrf

                <input type="hidden" name="commentIDToEdit" id="commentID">
                <div class="md-form mb-5">
                    <i class="fas fa-comment"></i>
                    <label for="toEditComment"></label>
                    <textarea name="toEditCommentary" id="toEditComment" cols="3" rows="5" style="resize: none"
                              class="form-control"></textarea>
                </div>
                <div class="modal-footer d-flex justify-content-center">
                    <button type="submit" class="btn btn-default">Modificar</button>
                </div>
            </form>

У меня есть CommentsController, где я обрабатываю данные из формы. Вот код:

    public function updateComment()
{

    request()->validate([
        "toEditCommentary" => "min:10|max:500"
    ]);

    if (Session::has("username") && getWarningCount(User::whereUsername(session("username"))->value("email")) > 0) {

        Caveat::where("commentID", request("commentIDtoEdit"))
            ->update(["updatedComment" => request("toEditCommentary")]);

    } else {
        die("No se cumple la condición");
    }

    if (Comment::where("commentID", request("commentIDToEdit"))->exists()) {
        Comment::where("commentID", request("commentIDToEdit"))
            ->update(["commentary" => request("toEditCommentary")]);
    }

    return back();

}

Любопытно, что в его таблице обновляется комментарий, но не предупреждение. Я думал в свойстве fillable в модели, но у меня его нет, вместо этого у меня есть следующий код:

protected $guarded = [];
const UPDATED_AT = null;
const CREATED_AT = null;

1 Ответ

1 голос
/ 24 апреля 2020

Ваш скрытый ввод называется commentIDToEdit, но в Контроллере вы получаете Caveat, используя request("commentIDtoEdit") (другой случай).

То, что вы написали:

Caveat::where("commentID", request("commentIDtoEdit"))

Что вы должны были сделать: (обратите внимание на другой регистр)

Caveat::where("commentID", request("commentIDToEdit"))

Это потому, что в представлении вход name равен commentIDToEdit, а не commentIDtoEdit.

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