2012-12-28 158 views
0

我正在編寫一個API,並且正在執行create方法。我做以下,而不需要一個形式:在沒有表單的情況下設置Symfony2驗證的值

$params = array('title' => 'test', 'parent_id' => 781); 

// bind data 
$place = new Place(); 
$place->bind($params); 

// validate params 
$errors = $this->validator->validate($place); 

我需要檢查PARENT_ID是一個正確的值(其對象存在 - 我知道如何做到這一點),並在這之後,我需要設置一些價值觀取決於父母。因此,最後Place對象將具有字段:title, parent_id, level, country_id例如。

你會如何做到這一點?在驗證?怎麼樣?如果沒有,如何避免調用兩次數據庫來獲取父對象?

回答

0

您應先驗證&,然後再設置任何附加值。任何修改值都不屬於驗證器。

如果您使用doctrine,它應該首次訪問它時將父對象加載到內存中,所以當您第二次訪問父對象時,它不需要再次實際查詢數據庫。

相關問題