Hi I am facing an that i cant not find the solution of it, so for a help.
I have two entities: Cast and Artists. In cast from i have actor, actress which will be field by Artist table, I used this code:
for that :
namespace Bbd\MyAppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class CastType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('actor', 'entity', array(
'class' => 'BbdMyAppBundle:Artist',
'property' => 'name',
'multiple' => true,
'label' => 'Artist',
'required' => false,
))
->add('actress')
->add('content')
;
}
there can be multiple actor or actress. so in db it saves like:
Doctrine\Common\Collections\ArrayCollection@000000006f69bd7b000000001772666a
in the actor field. i dont why, it should save the id or name.
here is the cast orm:
Bbd\MyAppBundle\Entity\Cast:
type: entity
repositoryClass: Bbd\MyAppBundle\Repository\CastRepository
table: cast
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
actor:
type: text
nullable: true
actress:
type: text
nullable: true
oneToOne:
content:
targetEntity: Content
inversedBy: cast
joinColumn:
name: content_id
referencedColumnName: id
onDelete: CASCADE
Artist ORM
Bbd\MyAppBundle\Entity\Artist:
type: entity
repositoryClass: Bbd\MyAppBundle\Repository\ArtistRepository
table: artist
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
name:
type: string
length: 255
unique: true
bangla_name:
type: string
length: 255
unique: true
priority:
type: integer
birth:
type: date
sex:
type: string
length: 6
bio_english:
type: text
bio_bangla:
type: text
Thanks for help..
According to your scenario i can suggest you have a
ManyToMany
association between yourCast
andArtist
entity each cast have many artists and each artist can appear in morethan one castYour
Artist
entity will look likeAnd
Cast
entity will have a mapping likeOnce you have added all artists record you can create a cast record by selecting multiple artists whether its actor/actress