Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

frutos93's avatar

No query results for model [RampUp\Skills].

Whenever I try to access /skills/add I get

No query results for model [RampUp\Skills].

Tried using dd("test") but won't even appear

This are my routes for skills/add

Route::put('/skills/add', 'SkillsController@add');

Route::get('/skills/add', 'SkillsController@addIndex');

Here are my functions in SkillsController

public function addIndex() {
        if (Auth::check()) {
            return view('skills.add');
        } else {
            return redirect('/home');
        }
    }

and

public function add(Request $request) {
        /*Sets validation rules for Skill object*/
        $skillRules = [
            'name' => 'required|max:25|regex:/[1-9a-zA-Z ]\w*/',
        ];
        if (Skills::where('name', '=', $request->name)->count() > 0) {
            return redirect('/skills')->with('message', "EXISTS");
        }

        $validator = Validator::validate($request->all(), $skillRules);
        if ($validator == null) {
            $newSkill = new Skills;
            $newSkill->name = strtolower($request->name);
            $newSkill->save();
            return redirect('/skills')->with('message', "CREATED");
        }
    }

the skills.add view is this

@extends('layouts.app')

@section('content')

<div class="container">
    <h1>Edit Skill</h1>
    <form method="POST" action="/skills/add">
        {{method_field('PUT')}}
        {{csrf_field()}}
        <div class="row">
            <div class="col-lg-5">
                <div class="form-group">
                     Name:
                    <input name="name" class="form-control">
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-lg-2">
                <div class="form-group">
                <button type="submit" class="btn btn-primary">Add Skill</button>
                <a href="/skills"><button type="button" class="btn btn-danger">Cancel</button></a>
                </div>
            </div>
        </div>
    </form>
    @if (count($errors))
            <div class="form-group">
            <div class="alert alert-danger">
                <ul>
                    @foreach($errors->all() as $error)
                        <li>{{$error}}</li>
                    @endforeach

                </ul>
            </div>
            </div>
        @endif
</div>
@endsection
0 likes
1 reply
andonovn's avatar

The problem is in your routes file - you have a route which looks something like Route::get('/skills/{skill}', 'SkillsController@show'); and is located above Route::get('/skills/add', 'SkillsController@addIndex');.

The solution is to just swap these two, so the skills/add is defined before skills/{skill}

1 like

Please or to participate in this conversation.