Question: When starting to work with models I got the following error 

> 
> Class Post not found`. 
> 
> 
> 

All I did:  

- Created a Model with the command `php artisan make:model`  

- Tried to get all entries from table `posts` with `echo Post::all()` 

I used the following code:

**router.php**

```
Route::get('/posts', function(){
    $results = Post::all();
    return $results;
});

```

**Post.php** 

```
<?php 
namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model {
    protected $table = 'posts';    
}

```

What I tried  

- Renaming Class  

- Dump-autoload ([Laravel 4 Model class not found](https://stackoverflow.com/questions/14284472/laravel-4-model-class-not-found))

Answer: 
I had the same error in Laravel 5.2, turns out the namespace is incorrect in the model class definition.

I created my model using the command:

```
php artisan make:model myModel

```

By default, Laravel 5 creates the model under `App` folder, but if you were to move the model to another folder like I did, you must change the the namespace inside the model definition too:

```
namespace App\ModelFolder;

```

To include the folder name when creating the model you could use (don't forget to use double back slashes):

```
php artisan make:model ModelFolder\\myModel

```
Make sure to be careful when editing your model file. For example, in your post model:

```
<?php 
namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model {
    protected $table = 'posts';    
}

```

You need to pay close attention to the `class Post extend Model` line. The class `Post` defined here will be your namespace for your controller.