Как обновить поля базы данных с помощью контроллера Laravel - Нет сообщения об ошибке - PullRequest
0 голосов
/ 27 апреля 2018

Я хожу по кругу, пытаясь обновить данные в базе данных, наконец-то я избавился от всех ошибок, так что теперь он правильно перенаправляет без ошибок, пока не обновляет на сайте или в базе данных.

Любая помощь будет принята с благодарностью, спасибо!

web.php

Route::put('/my-saved-routes/{myroute_id}', 'MyroutesController@update');

MyroutesController.php

public function update(Request $request, $id)
{    
     $Myroutes = Myroutes::find($id);
     $Myroutes->start = $request->input('start');
     $Myroutes->end = $request->input('end');
     $Myroutes->waypoints = $request->input('waypoints');

     $Myroutes->save();

     return redirect('/my-saved-routes');
}

show.blade.php

<div class="col-md-4">
                            <h2>Route {{ $myroute->myroute_id }}</h2>                               
                            <form method="put" action="/my-saved-routes">
                                {{ method_field('put') }}
                                {{ csrf_field() }}
                                <input type="hidden" name="_method" value="PUT" />
                                <div class="form-group">
                                    <label>Start Point</label>
                                    <input type="text" id="start" name="start" class="form-control" value="{{ $myroute->start }}" required/>
                                </div>

                                <div class="form-group">
                                    <label>End Point</label>
                                    <input type="text" id="end" name="end" class="form-control" value="{{ $myroute->end }}" required/>
                                </div>

                                <div>
                                <label for="mode">Mode of Travel</label>
                                    <select id="mode" class="form-control" onchange="calculateAndDisplayRoute();">
                                      <option value="DRIVING" name="driving">Driving</option>
                                      <option value="WALKING" name="walking">Walking</option>
                                      <option value="BICYCLING" name="cycling">Cycling</option>
                                      <option value="TRANSIT" name="public-transport">Public Transport</option>
                                    </select>
                                </div>

                                <p>Note: Public Transport is only available for start and end points.</p>


                                <div id="dynamicInput" class="form-group">
                                    <label>Additional Destinations</label>
                                    <input type="text" name="waypoints" class="form-control" autocomplete="on" value="{{ $myroute->waypoints }}">
                                </div>

                                <input type="button" class="btn btn-secondary" value="+" onClick="addInput('dynamicInput');" style="padding:0 10px;">               
                                </br></br>
                                <input type="button" id="calc-route" style="color:#2b2b2b" class="btn btn-light" value="Calculate Route"/>

                                <input type="submit" id="update-route" class="btn btn-success" value="Update"/>
                                <input type="button" class="btn btn-danger" value="Delete"/>

                            </form> <!-- end of form -->    

Myroutes.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Http\Request;

class Myroutes extends Model
{
    protected $fillable = [
        'myroute_id',
        'user_id',
        'start',
        'end',
        'waypoints'
    ];

    protected $primaryKey = 'myroute_id';

}

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

попробуйте

<form method="put" action="/my-saved-routes">

обновление

<form method="post" action="/my-saved-routes/{{ $myroute->myroute_id }}">
0 голосов
/ 06 августа 2019

Попробуйте следующее:

<form class="form" method="post" action="/my-saved-routes/{{ $$myroute->myroute_id) }}">
  {{ method_field('patch') }}
  {{ csrf_field() }}
0 голосов
/ 27 апреля 2018

Вы можете сделать как ниже

Myroutes::where('id', $id)
                ->update(['start' => $request->input('start'),
                         'end'=>$request->input('end'),
                         'waypoint'=>$request->input('waypoints')]
                        );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...