Est-il possible d'avoir de simples entités en lecture seule, qui peuvent avoir une association avec une autre entité de doctrine, mais leurs données sont stockées dans un fichier texte (YAML)?Symfony - Entités en lecture seule hydratées à partir de YAML
Disons que j'ai une entité product
, et je veux définir une catégorie pour chaque produit. Mais pour l'instant, je n'ai que très peu de catégories (et je n'ai pas besoin d'éditer ou d'ajouter), donc je ne veux pas/ne dois pas créer une entité de doctrine complète avec sa propre table dans la base de données.
Je crée donc une entité très simple:
class ProductCategory
{
private $id;
private $name;
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
}
Maintenant, je voudrais créer un simple fichier YAML où les données sont stockées, comme ceci:
0: Cheese
1: Meat
2: Dairy Products
....
Je voudrais Définir une relation ManyToOne de l'entité product
à l'entité ProductCategory
.
Est-ce possible? Et, comment "interroger" les catégories? (disons que je veux lister toutes les catégories qui commencent par une certaine lettre)
'Pourquoi' demandez-vous? Comme je l'ai dit, je n'ai que très peu de catégories, mais peut-être un jour je veux en ajouter d'autres, et même avoir un éditeur CRUD pour eux et ainsi de suite, alors je pourrais facilement le convertir en entité de doctrine complète .
Ou d'autres suggestions sur la façon d'aborder cela?
Cela ressemble à beaucoup d'efforts et de frais généraux. Je pensais qu'il y avait un moyen plus facile. Je pense que je vais aller avec une entité de doctrine standard. Mais MERCI pour votre réponse! – minychillo
Une autre possibilité serait d'utiliser le Doctrine FixturesBundle: https://github.com/doctrine/DoctrineFixturesBundle Il vous faudra configurer des entités mais cela pourrait être un peu plus pratique que de faire toute la configuration vous-même. Vous pouvez trouver quelques exemples dans les docs: https://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html – dbrumann
Je ne suis pas sûr de comprendre cette idée de luminaire ... d'abord, les luminaires ne sont destinés qu'aux tests , droite ? Deuxièmement, les appareils ont toujours besoin d'une table dans la base de données, donc pas de gain ici. Ou est-ce que je manque quelque chose? – minychillo