“The select list returns all the same options with the same id’s, even though the database table contains rows with different ids and names”

in this case you should verify the type of the ID of your entity after revers engeneering.

/**
 * @var boolean
 *
 * @ORM\Column(name="id", type="boolean")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $id;

Generaly you will find tha the type is boolean, so change it to ineger than force the update of your schema:

/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
private $id;

doctrine:schema:update –force

and all will be well done and the select field will contain all the none repeated data from database

thank you