Symfony + Notice: Undefined property: App\Entity\Site::$getMedia

symfony

a marqué ce sujet comme résolu.

Bonjour, j’ai une nouvelle erreur dans mon projet . Je ne peux plus créer de nouveau topo, j’ai l’erreur : Notice: Undefined property: App\Entity\Site::$getMedia. La table topo est en relation est en Many to Many avec l’entitée Site. Media est en relation many to one avec l’entitée Site. J’ai fait une Modification dans la BDD pour remettre les id à 0:

``

SET @num :0;
UPDATE site SET id = @num := (@num+1);
ALTER TABLE site AUTO_INCREMENT = 1;

``

J’ai également supprimé tous les éléments de la table de Site et de la table topos. Sauriez-vous quoi faire? J’ai une autre erreur dans ma BDD :



Configuration de pmadb… en erreurDocumentation
Fonctions relationnelles Désactivé

Le stockage de configurations phpMyAdmin n'est pas complètement configuré, certaines fonctionnalités ont été désactivées. Voir l'analyse du problème.
Ou encore aller sur l'onglet « Opérations » de n'importe quelle base de données pour le définir à cet endroit.
Ouvrir une nouvelle fenêtre phpMyAdmin
Warning in .\libraries\classes\Dbal\DbiMysqli.php#244
mysqli::query(): (HY000/1034): Index corrompu dans la table: 'global_priv'; essayez de le réparer

Backtrace

DbiMysqli.php#244: mysqli->query(
string 'SELECT 1 FROM mysql.user LIMIT 1',
integer 0,
)
DatabaseInterface.php#213: PhpMyAdmin\Dbal\DbiMysqli->realQuery(
string 'SELECT 1 FROM mysql.user LIMIT 1',
,
integer 1,
)
DatabaseInterface.php#1765: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'SELECT 1 FROM mysql.user LIMIT 1',
integer 256,
integer 1,
)
HomeController.php#79: PhpMyAdmin\DatabaseInterface->isSuperUser()
Routing.php#186: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)

Je ne sais pas quoi faire auriez vous une idée? Meci d’avance. Diego

Salut Diego,
c’est étrange car l’erreur parle de la propriété getMedia, alors que son nom semble indiquer que c’est une fonction getter. Aurais-tu oublié une paire de parenthèse à un appel de la fonction getMedia() ?

Appel de variable : $myVar->getMedia
Appel de fonction : $myVar->getMedia()

+1 -0

Hello, j’ai l’impression que l’erreur dans ton message est tout autre que celui mentionné dans ton titre : MySQL indique que l’index de ta table global_priv est corrompue.

Pour corriger cela, tu peux tenter la solution proposée ici, c’est-à-dire reconstruire ton index avec OPTIMIZE TABLE global_priv. Cela devrait permettre de résoudre ton souci de corruption.

J’en profite pour remarquer ton tag Symfony 3.0.1 et signaler que tu utilises une version obsolète de Symfony, ce qui comporte des risques en termes de sécurité. Je t’encourage vivement à migrer au minimum vers la version 4.4. Si tu ne sais pas comment migrer la version de Symfony, tu trouveras tous les détails dans la documentation officielle du framework (la page fait référence à la 5.0.0, mais la méthode est la même pour toutes les versions majeures).

+2 -0

Salut merci pour vos réponses. Le truc est que j’ai changé this->getMediaenthis>getMedia en this->getNom et ça marche. Et mon professeur ma dit que l’autre erreur n’est pas grave, en tout cas je verrais pour cette erreur de corruption. J’ai déjà mis à jour symfony normalement. Je n’ai pas trouver de tag plus récent… Merci

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte