これが可能かどうかはわかりませんが、クエリから教義コレクションを作成しようとしています。アイデアは、コレクションにいくつかの事前設定された値を入力することです。これにより、データベースを更新して、古いシステムから新しいシステムにユーザーをインポート/生成するように考えることができます。リポジトリビットに苦労しています。
実在物
// 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...
}
リポジトリ
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;
}
}
コントローラー内で呼び出す
上記を使用して、新しく生成されたユーザー ループをフェッチし、エンティティ メソッド オブジェクトなどにアクセスできるようにします。
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();
}
}
}