Laravel: получение другого идентификатора из формы после отправки // рейтинговых функций для аренды - PullRequest
0 голосов
/ 01 марта 2020

Маршрут

       Route::post('/review/{pId}','RentalController@review');

Контроллер:

public function review(Request $request,$propId){

    $review = new Reviews();
    $rpId = rand();
    $review->rvid=$rpId;
    $review->usid_fk = Auth::user()->uid;
    $review->prId_fk = Property::find($propId);
    $review->comment = $request->input('comment');
    $review->rating = $request->input('rating');
    $review->date = Carbon::now();
    $review->save();
}

PHP

  <form action="/review/{{ $prop->pid}}" method="POST">
    {{csrf_field()}}

    <div class="modal-body">
      <input type="hidden" name="propid" value="{{ $prop->pid }}"/>
      <input id="rating" name="rating" class="rating rating-loading" data-show-clear="false" data-min="0" data-max="5" data-step="1" value="0">
      <div class="input-group">
        <div class="input-group-prepend">
          <span class="input-group-text">Comment</span>
        </div>
        <textarea name="comment" class="form-control" aria-label="Comment"> 
        </textarea>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="submit" class="btn btn-primary">Submit</button>
      </div>
    </div>
  </form>

Я получаю «страница не найдена», поэтому я не знать, должен ли я использовать метод "положить" или "сообщение" в маршруте, а также в форме. Ваши ответы будут высоко оценены.

Ответы [ 2 ]

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

Проверьте форму в браузере и убедитесь, что токен csrf и URL-адрес действия правильно сформированы.

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

Я думаю, что проблема в действии в вашей форме. измените форму на

<form action="{{route('review.post',['id'=>$prop->pid])}}" method="POST">
  </form>

и измените маршрут на

Route::post('review/{pId}','RentalController@review')->name('review.post');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...