0

我正在编写 API 并且正在执行 create 方法。我在不需要表格的情况下执行以下操作:

$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例如。

你会怎么做?关于验证?如何?如果没有,如何避免调用两次DB获取父对象?

4

1 回答 1

0

您应该首先验证并在之后设置任何其他值。任何修改值的东西都不属于验证器。

如果您使用原则,它应该在您第一次访问它时将父对象加载到内存中,因此当您第二次访问父对象时它不需要再次实际查询数据库。

于 2012-12-28T15:15:50.667 回答