Esta es una pregunta que me hago cuando enfrento nuevos proyectos, Field Collection vs Entity Reference + entidad personalizada o si la estructura es simple, Field Collection vs campo personalizado con varias columnas db / Multifield . Aquí está mi opinión basada en mi experiencia. .
Multifield es un gran concepto, sería una versión "ligera" de la colección de campo, en lugar de crear una estructura de entidad con relaciones, cubre los casos de uso simples sin crear la entidad. Tiene una serie de problemas embargo, , como la integración de características no completa, no es realmente multilingüe, etc. (por lo que si planea usar esto, las contribuciones probablemente serán realmente bienvenidas).
Field Collection es una gran solución si está haciendo un sitio que se puede hacer solo con unos pocos ajustes aquí y allá, les brinda a los creadores de sitios una herramienta poderosa para crear estructuras complejas sin preocuparse demasiado por las partes internas. Básicamente creará una entidad que se relaciona con la entidad "host" por los identificadores, permitiendo agregarle campos y todo. Las desventajas vendrían en el conocimiento de los aspectos internos de la recopilación de campo que necesita para realizar operaciones complejas, como administrar una recopilación de campo con una referencia de entidad o migrar datos. Como es una herramienta genérica, sería bastante complicado ir un paso más allá.
Otra opción que tiene allí es usar ECK con referencia de entidad, pero mi experiencia con esto ha sido un desastre hasta ahora, me resulta mucho más fácil crear el tipo de entidad por código sin el ayudante.
Es una cuestión de lo que necesita y cuál es la mejor opción para su proyecto, si tiene el tiempo y los desarrolladores para crear tipos de entidad que se relacionen con su modelo de datos a través de Referencia de entidad, tendrá más control sobre lo que está sucediendo con sus estructuras de datos, pero entonces usted es el "responsable" de eso también.
Después de probar un tiempo con todas las soluciones descritas anteriormente, en mi equipo siempre buscamos los tipos de entidad + ER, pero puedo ver que para proyectos pequeños, sin migración de datos o una configuración complicada de i18n, Field Collection es la forma más rápida de Vamos.