How can I establish a relationship a Model class with another model class of folder in laravel eloquent??

eloquent, laravel, laravel-5.3, laravel-5.4

Solution

Use correct namespaces:

Admin model:

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;
use App\Admin\Product;

class Admin extends Authenticatable
{
    public function erp()
    {
        return $this->belongsToMany(Product::class);
    }
}

Product model:

namespace App\Admin;

use Illuminate\Database\Eloquent\Model;
use App\Admin;

class Product extends Model
{

    protected $primaryKey = 'productcode';
    public $incrementing = false;

    public function updatedBy()
    {
        return $this->belongsTo(Admin::class);
    }
}

Or add namespace of a model as string, for example `App\Admin`

Problem

Folder Structure: ``` app |-Admin.php |-Admin | |-Product.php Admin.php -------------------------------------------------------- namespace App; use Illuminate\Foundation\Auth\User as Authenticatable; class Admin extends Authenticatable { public function erp() { return $this->belongsToMany(Admin\Product::class); } } ----------------------------------------------------------- Product.php ----------------------------------------------------------- namespace App\Admin; use Illuminate\Database\Eloquent\Model; class Product extends Model { protected $primaryKey = 'productcode'; public $incrementing = false; public function updatedBy() { return $this->belongsTo(Admin::class); } } ----------------------------------------------------------- ``` But got an error Class 'Admin::class' not found any solution??

Original source