Почему я получаю NotFoundHttpException в RouteCollection? - PullRequest
0 голосов
/ 18 ноября 2018

Я получаю сообщение об ошибке, когда пытаюсь перенаправить URL-адрес в Laravel 5.3. Я получил NotFoundHttpException в коллекции маршрутов. Я что-то упустил?

Здесь вы можете увидеть вывод ошибки:

введите описание изображения здесь

Это код моего контроллера:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\User;
use App\Role;
use DB;

use App\Provinsi;
use App\Kabupaten;
use App\puskesmasreg;

use Yajra\Datatables\Html\Builder;
use Yajra\Datatables\Datatables;

use Session,Log;

class UserseditadminpassController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
        $user =  User::leftjoin('provinsis','users.access_id','=','provinsis.idprovinsi')
                ->leftjoin('kabupatens','users.access_id','=','kabupatens.idkabupaten')
                ->leftjoin('puskesmasregs','users.access_id','=','puskesmasregs.kodepuskesmas')
                ->join('role_user','role_user.user_id','=','users.id')
                ->join('roles','role_user.role_id','=','roles.id')
                ->select(['users.id','username','users.name AS nama','roles.name','users.email','password','photo','access_id','is_verified','role_id','access_name','users.created_at','users.updated_at'])
                ->where('users.id','=',$id)->get()->first();


        //return view('users.edit')->with(compact('user'));
        return view('users.view-edit-password-admin')->with(compact('user'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request,$id)
    {
        //
        $user = user::find($id);
        $this->validate($request, [
        //'password' => 'required|passcheck:' . $user->password,
        'new_password' => 'required|confirmed|min:6',
        ]
        );
        $user->password = bcrypt($request->get('new_password'));
        $user->save();
        Session::flash("flash_notification", [
        "level"=>"success",
        "message"=>"Password berhasil diubah"
        ]);
        return redirect('users.view-edit-password-admin');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

и это код моих маршрутов:

Route::group(['prefix'=>'admin', 'middleware'=>['auth','role:administrator']], function () {
    Route::resource('usersadmineditpassword', 'UserseditadminpassController');

});

и это мой код просмотров:

@extends('layouts.adminmonevpkam')

@section('content')
<!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header">
       <h1>
        PENGGUNA / USER eMONEV PKAM<br>
        <small>data pengguna e-Monev PKAM</small>
      </h1>
      <ol class="breadcrumb">
        <li><a href="{{ url('home') }}"><i class="fa fa-dashboard"></i> Home</a></li>
        <li><a href="{{ url('/admin/petugasregs') }}">Data User</a></li>
        <li class="active">Ubah Data Pengguna</li>
      </ol>
    </section>

    <!-- Main content -->
    <section class="content">

      <!-- /.row (main row) -->
      <div class='row'>
      <div class='col-md-12'>
            <!-- Box -->
            <div class="box box-primary" >
                <div class="box-header with-border">
                    <h3 class="box-title">Ubah Password</h3>
                </div>
                {!! Form::model($user, ['url' => route('usersadmineditpassword.update', $user->id), 'method'=>'put','files'=>'true','class'=>'form-horizontal'])
                !!}
                 <div class="box-body">
                 <div class="form-group">
    {!! Form::label('user_name2', 'Username', ['class'=>'col-md-2 control-label']) !!}
    <div class="col-md-4">
        {!! Form::text('username', null, ['class'=>'form-control','readonly']) !!}
    </div>
</div>
                <div class="form-group{{ $errors->has('new_password') ? ' has-error' : '' }}">
                {!! Form::label('new_password', 'Password baru', ['class'=>'col-md-4 control-label']) !!}
                <div class="col-md-6">
                  {!! Form::password('new_password', ['class'=>'form-control']) !!}
                  {!! $errors->first('new_password', '<p class="help-block">:message</p>') !!}
                </div>
              </div>

              <div class="form-group{{ $errors->has('new_password_confirmation') ? ' has-error' : '' }}">
                {!! Form::label('new_password_confirmation', 'Konfirmasi password baru', ['class'=>'col-md-4 control-label']) !!}
                <div class="col-md-6">
                  {!! Form::password('new_password_confirmation', ['class'=>'form-control'])!!}
                  {!! $errors->first('new_password_confirmation', '<p class="help-block">:message</p>') !!}
                </div>
              </div>
                </div><!-- /.box-body -->
                <div class="box-footer">
                    {!! Form::submit('Simpan', ['class'=>'btn btn-primary']) !!}
                    <input type="button" name="cancel" value="Batal" onClick="window.location='{{ url('/admin/users') }}';" class="btn btn-primary" />
                </div><!-- /.box-footer-->
                {!! Form::close() !!}
            </div><!-- /.box -->
      </div>
     </div><!-- /.row -->
    </section>
    <!-- /.content -->
  </div>
  <!-- /.content-wrapper -->
@endsection

@section('scripts')
    <script type="text/javascript" src="{{ asset('js/monevpkam.js') }}"></script>
@endsection

, и когда я нажимаю кнопку «Отправить», я получаю сообщение об ошибке ниже:

Sorry, the page you are looking for could not be found.

1/1
NotFoundHttpException in RouteCollection.php line 161:
in RouteCollection.php line 161
at RouteCollection->match(object(Request)) in Router.php line 780
at Router->findRoute(object(Request)) in Router.php line 610
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 58

1 Ответ

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

Вы перенаправляете на отсутствующий URL. Вот почему вы получаете NotFoundHttpError. Если вы хотите перенаправить его на контроллер редактирования, вам нужно назвать его как имя маршрута. Поэтому вы должны использовать

return redirect('usersadmineditpassword.edit'); 

вместо

return redirect('users.view-edit-password-admin');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...