Обновить комментарий в Laravel - PullRequest
0 голосов
/ 16 января 2020

Я новичок в Laravel и хочу использовать оператор if внутри Laravel Controller. Итак, у меня есть тег формы, куда я могу добавлять комментарии. Я хочу редактировать комментарии в той же форме. Вот мой тег формы:

<form method="post" action="/hotels/{{$id}}" name="review_hotel">
     @csrf
     <div class="form-group">
         <textarea name="comment" id="comment" class="form-control" style="height:100px"
                   placeholder="Write your review"></textarea>
         @error('comment')
             <p class="text-danger">{{$message}}</p>
         @enderror
     </div>
     <input type="submit" value="Submit" class="btn_1" id="submit-review">
</form>

У меня есть скрипт, с помощью этого скрипта я могу добавить комментарий, который я хочу изменить, в текстовое поле. После этого я понятия не имею, как обновить его в моем контроллере. Это CommentController:

public function comment(CommentRequest $request, $id)
    {
        $comment = new Comment();
        $comment->object_id = $id;
        $comment->user_id = Auth::id();
        $comment->comment = $request['comment'];
        $comment->save();
        return redirect('/hotels/'.$id);
    }

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

1 Ответ

0 голосов
/ 16 января 2020

В вашей модели Комментарий. php пометьте переменные формы как заполняемые

public $fillable = ['object_id', 'user_id', 'comment'];

, затем используйте эту функцию модели (Eloquent)

Comment::updateOrCreate(
[
'object_id' => ...,
'user_id' => ...,
],
[
'object_id' => ...,
'user_id' => ...,
'comment' => ...,
]
);

https://laravel.com/docs/5.8/eloquent#other -создание -методы

...