在cakephp 2中,在循环中更新表时,重置表id和数据,我使用create,然后进行保存。http://book.cakephp.org/2.0/en/models/saving-your-data.html model-create-array-data-array
$data = array('username' => usernameArray[$i], 'age' => $ageArray[$i] );
$this->Mytable->create();
$this->Mytable->save($data);
在Cakephp 3的新ORM中是否有一个等效的函数,或者新的数据库系统是否自动处理这个?
为了使用剩余的代码,我将在循环中使用该代码。是否需要create函数?$data = array('username' => usernameArray[$i], 'age' => $ageArray[$i] );
$tableInstance = TableRegistry::get('Mytable');
$entity = $tableInstance->newEntity($data);
$tableInstance->save($entity);
您可以使用newEntities()
方法根据请求数据创建实体列表。然后可以使用循环保存实体。
$this->loadModel('Users');
$users = $this->Users->newEntities($this->request->data());
foreach ($users as $user) {
$this->Users->save($user);
}
文档显示newEntities()
的预期输入格式。