想象一個User
模式是這樣的:簡單的方法來填充表單數據的doctrine 2模型?
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;
}
}
樣本形式提交新User
:
<form action="/controller/saveUser" method="post">
<p>Username: <input type="text" name="username" /></p>
<p>Password: <input type="text" name="password" /></p>
</form>
在我的控制器
目前我省新User
這樣的:
public function saveUser() {
$user = new User();
$user->setUsername($_POST['username']);
$user->setPassword($_POST['password']);
$entityManager->persist($user);
}
這意味着,爲通過表單接收的每個屬性調用setter方法。
我的問題:是有在學說的方法,其允許你表單數據/陣列結構自動映射到一個學說模型?理想情況下,可以從具有類似結構的數組中填充嵌套對象圖。
理想我可以改變我的控制器代碼繼續沿着這條東西(僞代碼/例):
public function saveUser() {
$user = Doctrine::populateModelFromArray('User', $_POST); // does this method exist?
$entityManager->persist($user);
}
預先感謝任何提示!
編輯:看來像這樣存在於教義1(http://www.doctrine-project.org/projects/orm/1.2/docs/manual/working-with-models%3Aarrays-and-objects%3Afrom-array/en) - 那麼,有沒有在教義2等效?
咦,怎麼樣?這個方法來自Array的簽名是什麼? – JCM 2012-02-16 00:48:38