Vous ne savez pas si c'est possible ou non, mais je cherche à créer une collection de doctrine à partir d'une requête. L'idée est de peupler la collection avec des valeurs prédéfinies afin que je puisse mettre à jour la base de données comme une importation/générer des utilisateurs à partir d'un ancien système dans un nouveau système. Je suis aux prises avec le bit du référentiel.symfony2 create doctrine collection à partir de la requête
Entité
// Portal\UserBundle\Entity\User.php
namespace Portal\UserBundle\Entity;
use Doctrine\ORM\Mapping AS ORM;
/**
* @ORM\Entity
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=false)
*/
private $fistname;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
// etc...
}
dépôt
namespace Portal\UserBundle\Entity\Repository;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function getGenerateNewUsers()
{
// acts as an import from an old user table
$sql = " SELECT firstname, surname, other FROM old_user_table ";
$userCollection = .... not sure how I link query?
return $userCollection;
}
}
Appeler à l'intérieur du contrôleur
Avec ce qui précède, je l'intention d'être en mesure d'aller chercher la boucle d'utilisateurs nouvellement généré sur eux et ont acce ss aux objets mes méthodes d'entité, etc.
class SetupController extends Controller
{
public function indexAction(){
$repository = this->getDoctrine()->getRepository('UserBundle:User');
$newUsers = $repository->getGenerateUsers();
// I can now have access to the users with something like
foreach($newUsers as $user){
$user->setFirstName('testing');
$user->save();
}
}
}
Avez-vous regardé http://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html? – cheesemacfly
merci pour le lien mais j'aimerais quand même pouvoir générer l'objet doctrine directement à partir d'une requête? il serait bon de savoir comment le faire. –