Laravel 5.2 Bisa Insert Ga Bisa Delete

Halo gan saya masih pemula dengan laravel tapi di sini saya mau nanya tiap kali saya click "delete" kok selalu NotFoundHttpException. Saya coba2 di function "delete" tapi kok kayak ga di baca sama laravelnya gtu.. mohon bantuannya yaa..

ini codenya :

Route :

 <?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::group(['middleware' => 'web'], function()
{
    Route::auth();
});

//Route as admin
Route::group(['middleware' => ['web','role:admin']], function()
{
    Route::get('/users/dashboard', 'UserController@index');

    /*-----------------------------------------------Track Part---------------------------------------------------------*/

    /*Track index*/
    Route::get('/users/programs/track', array('as'=>'track', 'uses'=>'Track\TrackController@index'));

    /*Create track form*/
    Route::get('/users/programs/track/create', array('as'=>'track.create', 'uses'=>'Track\TrackController@create'));

    /*Route to save track*/
    Route::post('/users/programs/track/save', array('as'=>'track.save', 'uses'=>'Track\TrackController@saveTrack'));

    /*Delete track*/
    Route::delete('/users/programs/track/{$id}/delete', array('as'=>'track.delete', 'uses'=>'Track\TrackController@delete'));

    /*-----------------------------------------------Course Part---------------------------------------------------------*/

    //Display course menu
    Route::get('/users/programs/course', array('as'=>'course', 'uses'=>'Course\CourseController@index'));

    //Delete course data
    Route::get('/users/programs/course/{$id}/delete', array('as'=>'course.delete', 'uses'=>'Course\CourseController@delete'));

    //Create course data
    Route::post('/users/programs/course/create', array('as'=>'course.create', 'uses'=>'Course\CourseController@createCourse'));

    //Edit course data
    Route::get('/users/programs/course/{$id}/edit', array('as'=>'course.edit', 'uses'=>'Course\CourseController@editCourse'));

    //Save editted course data
    Route::put('/users/programs/course/{$id}/saveEdit', array('as'=>'course.saveEdit', 'uses'=>'Course\CourseController@saveEdit'));
});

Controller :

 <?php

namespace App\Http\Controllers\Track;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
//use Illuminate\Support\Facades\Input;
use Validator;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Track as Track;

class TrackController extends Controller
{
    /*Display track registry*/
    public function index()
    {
        $data = array('track' => Track::all());
        return view('admin.dashboard.tracks.track',$data);
    }

    /*Display create track form*/
    public function create()
    {
        return view('admin.dashboard.tracks.createtrack');
    }

    /*Save data form*/
    public function saveTrack(Request $request)
    {
        $input = $request->all();
        $messages = array(
            'trackCode.required'=>'Track code required.',
            'trackCode.unique'=>'Track code already exist.',
            'trackName.required'=>'Track name required.',
        );
        $rule = array(
            'trackCode' => 'required|unique:track',
            'trackName' => 'required|max:60',
        );

        $validator = Validator::make($input, $rule, $messages);

        if($validator->fails()) {
            #Directed to the same page with error message
            return Redirect::back()->withErrors($validator)->withInput();

            #Validate Success
        }

        $track = new Track;
        $track->trackCode = $request['trackCode'];
        $track->trackName = $request['trackName'];

        if (! $track->save())
            App::abort(500);

        return Redirect::action('Track\TrackController@index')->with('successMessage','Track data "'.$input['trackName'].'" has been inserted.');
    }

    /*Delete data*/
    public function delete($id)
    {
        echo $id;
        /*$trackCode = Track::where('trackCode','=',$id)->first();

        if($trackCode==null)
          App::abort(404);
        $trackCode->delete();

        return Redirect::action('Track\TrackController@index');*/
    }
}

Potongan script html :

 <div class="box-body">
              <table class="table table-bordered table-striped">
                <thead>
                <tr>
                  <th style="width: 150px; text-align: center;">Track Code</th>
                  <th>Track Name</th>
                  <th>Action</th>
                </tr>
                </thead>
                <tbody>
                @foreach($track as $itemTrack)
                <tr id="track-list" name="track-list">
                  <td style="text-align: center;">{{ $itemTrack->trackCode }}</td>
                  <td>{{ $itemTrack->trackName }}</td>
                  <td>
                  <form id="formDeleteTrack" class="form-horizontal" role="form" method="post" action="{{ url('/users/programs/track/'.$itemTrack->trackCode.'/delete') }}">
                  {{ method_field('DELETE') }}
                  {{ csrf_field() }}
                    <button type="submit" class="label btn-danger label-danger"><i class="fa fa-trash"> Delete </i></button>
                    <!-- <a href="{{{ action('Track\TrackController@delete',[$itemTrack->trackCode]) }}}" title="Delete" onclick="return confirm('Are you sure you want to delete this track : {{{$itemTrack->trackCode.' - '.$itemTrack->trackName }}}?')">
                      <span class="label label-danger"><i class="fa fa-trash"> Delete </i></span>
                    </a> -->
                  </form>
                  </td>
                </tr>
                @endforeach
                </tbody>
              </table>
              <br/>
              <a href="{{{ action('Track\TrackController@create') }}}"><button class="btn btn-success pull-right" type="submit">Add Data</button></a>
            </div>
            <!-- /.box-body -->
avatar hansdjverified
@hansdjverified

13 Kontribusi 1 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

emang ada ya gan Route::delete ? ane soalnya baru liat...

avatar harry_putter
@harry_putter

144 Kontribusi 31 Poin

Dipost 7 tahun yang lalu

ada bang di sini nih https://laravel.com/docs/5.4/routing#basic-routing

avatar hansdjverified
@hansdjverified

13 Kontribusi 1 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

Perhatikan bagian routenya.


/*Delete track*/
    Route::delete('/users/programs/track/{$id}/delete', array('as'=>'track.delete', 'uses'=>'Track\TrackController@delete'));

// Cukup ganti {$id} menjadi {id}

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 7 tahun yang lalu

oohhh udh gan bisa nih hahaha krg teliti nih

Thankyou bgt yakk gann :D

avatar hansdjverified
@hansdjverified

13 Kontribusi 1 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban