【问题标题】:Cakephp 3 model createCakephp 3 模型创建
【发布时间】: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);

【问题讨论】:

    标签: php database cakephp cakephp-3.0


    【解决方案1】:

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

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

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

    【讨论】:

    • 如果我没有数据,我想创建空记录怎么办?
    • 使用空数组调用 newEntity()。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2016-11-23
    相关资源
    最近更新 更多