Monday, May 22, 2017

Why doesn't laravel recognize my model?

I get this error that says, "No query results for the model [App\dummy]." I believe the problem is in the controller. When you submit the form it is supposed to trigger the function in the comment controller. This controller is new so, I believe the error is in here. That is when it stopped working. Here is the commentController file:

<?php

namespace App\Http\Controllers;

use App\Dummy;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; //this one is for sql builders

use App\Comments;
use Illuminate\Http\RedirectResponse;
use DateTime; //to create a new date object you need to include this namespace



class commentController extends Controller
{
  public function store(Dummy $post){
    $date = new DateTime();
    $timestamp = $date->getTimestamp();
    $id = $post->id;

    $post->addComment(request('body'));

    return view('post', compact('post', 'timestamp', 'id'));
  }
}

I tried making App\Dummy lowercase so it was App\dummy but still it didn't work. It still gives me the error.

Here is my dummy model:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class dummy extends Model
{
    protected $guarded = [];

    public function comments(){
      return $this->hasMany(Comments::class, 'post_id');

    }

    public function addComment($body){
      $this->comments()->create(compact('body'));
    }
}



via Lami

Advertisement