Reputation: 2597
So, in L5 I created folder like app/Models/Blog
where is file Posts.php
which looks like:
<?php namespace App\Models\Blog;
use Illuminate\Database\Eloquent\Model;
class Posts extends Model {
protected $table = 'posts';
}
After it I executed composer dump
and then in my controller:
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Models\Blog\Posts as Posts;
class BlogController extends Controller {
public function index()
{
$post = Posts::all()->toArray();
dd($post);
}
}
It throws me an error:
FatalErrorException in BlogController.php line 14: Class 'Models\Blog\Posts' not found
Upvotes: 6
Views: 49076
Reputation: 2878
You need to check two points :
namespace
have to be in first use App\Models\Blog
in your caseLike this :
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\Blog;
class BlogController extends Controller {
public function index()
{
$post = Posts::all()->toArray();
dd($post);
}
}
(tested with Laravel 5.4)
Upvotes: 0
Reputation: 343
Try changing this:
use Models\Blog\Posts as Posts;
To this:
use App\Models\Blog\Posts;
Upvotes: 16
Reputation: 624
Change the following
class Posts extends Model {
to
class Posts extends \Eloquent {
Upvotes: 0