has_many(Municipio::class, 'estado_id'); } } class Municipio extends Entity { protected $table_name = 'basico_geografico_municipios'; protected $classname = 'Municipio'; function estado() { return $this->belongs_to(Estado::class, 'estado_id'); } } class User extends Entity { protected $timestamps = true; protected $softdelete = true; protected $table_name = 'basico_auth_users'; protected $classname = 'User'; public function existencia() { $this->has_one(Existencia::class, 'user_id'); } public function contatos() { $this->has_many('contatos', 'user_id'); } public function permissions() { return $this->belongs_to_many_extended(Permission::class, 'basico_auth_permission_user', 'user_id', 'permission_id'); } public function roles() { return $this->belongs_to_many( Role::class, 'basico_auth_role_user', 'user_id', 'role_id'); } } class Role extends Entity{ protected $table_name = "basico_auth_roles"; protected $classname = "Role"; function permissions(){ return $this->belongs_to_many(Permission::class, 'basico_auth_role_permission', 'role_id', 'permission_id'); } } class Permission extends Entity{ protected $table_name = "basico_auth_permissions"; protected $classname = "Permission"; } Connections::add_connection(new PDO("pgsql:dbname=urfat; user=urfat; password=urfat;host=127.0.0.1;port=5432")); $a = new User(); $a->load(1); var_dump( $a->permissions() ); //$a = new Estado(); //$a->load(23); //foreach ($a->municipios() as $municipio) { // echo "$municipio->nome \n"; //} //$a = new Municipio(); //$a->load(1); //$a->estado();