by Anonymous » 23 Dec 2024, 14:05
Ich habe drei Modelle mit diesen Beziehungen:
Erlaubnis:
public function initialize()
{
$this->setSchema("ngd_demat");
$this->setSource("p_permission");
$this->belongsTo('idAction', Action::class, 'id', ['alias' => 'Action']);
}
Aktion:
public function initialize()
{
$this->setSchema("ngd_demat");
$this->setSource("p_action");
$this->belongsTo('idResource', Resource::class, 'id', ['alias' => 'Resource']);
$this->hasMany('id', Permission::class, 'idAction', ['alias' => 'Permission']);
}
Ressource:
public function initialize()
{
$this->setSchema("ngd_demat");
$this->setSource("p_resource");
$this->hasMany('id',Action::class,'idResource', ['alias' => 'Action']);
}
Ich möchte die gesamte Ressource libelle :
public static function isAllowed($role){
$resources = [];
$permission = Permission::find('idRole ='.$role.' AND isAllowed = 1');
foreach ($permission->action->resource as $resource){
array_push($resources, $resource->getLibelle());
}
return $resources;
}
Es wird im Apache-Fehlerprotokoll zurückgegeben:
Undefined property: Phalcon\Mvc\Model\Resultset\Simple::$action
Trying to get property 'resource' of non-object
Invalid argument supplied for foreach()
Dies ist das UML-Klassendiagramm:
Ich habe versucht, Alias in Klein- und Großbuchstaben einzufügen, Referenz Modell mit Permission::class oder „Security\Permission“ oder „Permission“. Ich habe den Namensraum „Sicherheit“ in meiner Datei „loader.php“ festgelegt.
Vielen Dank im Voraus.
Ich habe drei Modelle mit diesen Beziehungen:
[b]Erlaubnis:[/b]
public function initialize()
{
$this->setSchema("ngd_demat");
$this->setSource("p_permission");
$this->belongsTo('idAction', Action::class, 'id', ['alias' => 'Action']);
}
[b]Aktion:[/b]
public function initialize()
{
$this->setSchema("ngd_demat");
$this->setSource("p_action");
$this->belongsTo('idResource', Resource::class, 'id', ['alias' => 'Resource']);
$this->hasMany('id', Permission::class, 'idAction', ['alias' => 'Permission']);
}
[b]Ressource:[/b]
public function initialize()
{
$this->setSchema("ngd_demat");
$this->setSource("p_resource");
$this->hasMany('id',Action::class,'idResource', ['alias' => 'Action']);
}
Ich möchte die gesamte Ressource libelle :
public static function isAllowed($role){
$resources = [];
$permission = Permission::find('idRole ='.$role.' AND isAllowed = 1');
foreach ($permission->action->resource as $resource){
array_push($resources, $resource->getLibelle());
}
return $resources;
}
Es wird im Apache-Fehlerprotokoll zurückgegeben:
Undefined property: Phalcon\Mvc\Model\Resultset\Simple::$action
Trying to get property 'resource' of non-object
Invalid argument supplied for foreach()
Dies ist das UML-Klassendiagramm:
Ich habe versucht, Alias in Klein- und Großbuchstaben einzufügen, Referenz Modell mit Permission::class oder „Security\Permission“ oder „Permission“. Ich habe den Namensraum „Sicherheit“ in meiner Datei „loader.php“ festgelegt.
Vielen Dank im Voraus.