imaginar un modelo de User
así:manera fácil de completar un modelo de doctrine 2 con datos de formulario?
class User {
/**
* ...some mapping info...
*/
private $username;
/**
* ...some mapping info...
*/
private $password;
public function setUsername($username) {
$this->username = $username;
}
public function setPassword($password) {
$this->password = $password;
}
}
un formulario de muestra que presente una nueva User
:
<form action="/controller/saveUser" method="post">
<p>Username: <input type="text" name="username" /></p>
<p>Password: <input type="text" name="password" /></p>
</form>
Actualmente en mi controlador de E guardar un nuevo User
así:
public function saveUser() {
$user = new User();
$user->setUsername($_POST['username']);
$user->setPassword($_POST['password']);
$entityManager->persist($user);
}
Eso significa que se llama al método setter para cada una de las propiedades que recibo a través del formulario.
Mi pregunta: ¿Hay algún método en Doctrine que le permita mapear automáticamente datos de formulario/una estructura de matriz a un modelo de Doctrine? Idealmente, es posible rellenar gráficos de objetos anidados a partir de una matriz con una estructura similar.
Lo ideal sería que pudiera cambiar de código del controlador a algo en este sentido (pseudo código/ejemplo):
public function saveUser() {
$user = Doctrine::populateModelFromArray('User', $_POST); // does this method exist?
$entityManager->persist($user);
}
Gracias de antemano por cualquier pista!
EDIT: Parece algo como esto existe en Doctrina 1 (http://www.doctrine-project.org/projects/orm/1.2/docs/manual/working-with-models%3Aarrays-and-objects%3Afrom-array/en) - así, ¿existe un equivalente en Doctrina 2?
Huh, ¿cómo? ¿Cuál es la firma de este método de Array? – JCM