Cakephp 3 模型创建

Posted

技术标签:

【中文标题】Cakephp 3 模型创建【英文标题】:Cakephp 3 model create 【发布时间】:2015-07-12 09:08:35 【问题描述】:

在 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 中是否有等效的功能,或者新的数据库系统会自动处理这个功能吗?

要使用剩余代码,我将在循环中使用此代码。我需要创建函数吗?

$data = array('username' => usernameArray[$i], 'age' => $ageArray[$i] );
$tableInstance = TableRegistry::get('Mytable');
$entity = $tableInstance->newEntity($data);
$tableInstance->save($entity);

【问题讨论】:

【参考方案1】:

您可以使用newEntities() 方法从请求数据创建实体列表。然后,您可以使用循环来保存实体。

$this->loadModel('Users');
$users = $this->Users->newEntities($this->request->data());
foreach ($users as $user) 
   $this->Users->save($user);

docs 显示newEntities() 的预期输入格式。

【讨论】:

如果我没有数据,我想创建空记录怎么办? 使用空数组调用 newEntity()。

以上是关于Cakephp 3 模型创建的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 2.1 - 保存(和创建)多个连接模型和关联模型

php [cakephp:UserstampBehavior]在保存之前将用户的id创建/修改为实体的模型行为。 #cakephp

CakePHP 3:保存关联模型失败

CakePHP 3.x 根据用户组/组织/团队过滤查询结果

CakePHP 模型验证无法正常工作

如何使用递归模型创建 cakephp 表单