亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

新增

添加一條數(shù)據(jù)

insert() 方法,返回值為 bool 類型的值,返回值為 true 表示添加成功,返回值為 false 表示添加失敗。

第一種是實例化模型對象后賦值并保存:

<?php
$user = new User();
$user->name = 'easyswoole';
$user->email = 'easyswoole@qq.com';
$user->insert();
// 相當(dāng)于 sql: INSERT  INTO `easyswoole_user` (`name`, `email`)  VALUES ('easyswoole', 'easyswoole@qq.com')

也可以使用 setData 方法批量賦值:

<?php
$user = new User();
$user->setData([
    'name'  => 'easyswoole',
    'email' => 'easyswoole@qq.com'
]);
$user->insert();

或者直接在實例化的時候傳入數(shù)據(jù)

<?php
$user = new User([
    'name'  => 'easyswoole',
    'email' => 'easyswoole@qq.com'
]);
$user->insert();

獲取自增ID

如果要獲取新增數(shù)據(jù)的自增ID,可以使用下面的方式:

<?php
$user = new User();
$user->name = 'easyswoole';
$user->email = 'easyswoole@qq.com';
$user->insert();
// 獲取自增ID
echo $user->id;

注意這里其實是獲取模型的主鍵,如果你的主鍵不是 id,而是 user_id 的話,其實獲取自增ID就變成這樣:

<?php
$user = new User();
$user->name = 'easyswoole';
$user->email = 'easyswoole@qq.com';
$user->insert();
// 獲取自增ID
echo $user->user_id;

添加多條數(shù)據(jù)

insertAll() 方法新增數(shù)據(jù)返回的是包含新增模型(帶自增ID)的對象數(shù)組 或 普通數(shù)組。

insertAll() 方法的返回類型受模型的 queryLimit 屬性 的 fields 屬性的 returnAsArray 屬性影響(可能返回普通數(shù)組)。

支持批量新增,可以使用:

<?php
$user = new User();
$list = [
    ['name' => 'easyswoole-1', 'email' => 'easyswoole1@qq.com'],
    ['name' => 'easyswoole-2', 'email' => 'easyswoole2@qq.com']
];
$user->insertAll($list); // 結(jié)果為 對象數(shù)組

$user = new User();
$list = [
    ['name' => 'easyswoole-1', 'email' => 'easyswoole1@qq.com'],
    ['name' => 'easyswoole-2', 'email' => 'easyswoole2@qq.com']
];
$user->queryLimit()->fields(null, true);
$user->insertAll($list); // 結(jié)果為 普通數(shù)組

insertAll 方法新增數(shù)據(jù)默認會自動識別數(shù)據(jù)是需要新增還是更新操作,當(dāng)數(shù)據(jù)中存在主鍵的時候會認為是更新操作,如果你需要帶主鍵數(shù)據(jù)批量新增,可以使用下面的方式:

<?php
$user = new User;
$list = [
    ['id' => 1, 'name' => 'easyswoole-1', 'email' => 'easyswoole1@qq.com'],
    ['id' => 2, 'name' => 'easyswoole-2', 'email' => 'easyswoole2@qq.com']
];
$user->insertAll($list, false);

onInsert注解

修改 User 模型類文件,添加 OnInsert 注解 和 onInsert 方法,onInsert 方法用于對添加前的數(shù)據(jù)做一些處理。

User.php

<?php

declare(strict_types=1);

namespace App\Model;

use EasySwoole\FastDb\AbstractInterface\AbstractEntity;
use EasySwoole\FastDb\Attributes\Hook\OnInsert;
// ...

/**
 * @property int    $id
 * @property string $name
 * @property int    $status
 * @property int    $create_time
 * @property string $email
 */
#[OnInsert('onInsert')]
class User extends AbstractEntity
{
    // ...

    public function onInsert()
    {
        if (empty($this->create_time)) {
            $this->create_time = time();
        }
        if (empty($this->status)) {
            $this->status = 1;
        }
    }
}

然后嘗試新增數(shù)據(jù)

<?php
$user = new User();
$user->name = 'easyswoole';
$user->email = 'easyswoole@qq.com';
$user->insert(); // INSERT  INTO `easyswoole_user` (`name`, `status`, `create_time`, `email`)  VALUES ('easyswoole', 1, 1704521166, 'easyswoole@qq.com')

ON DUPLICATE KEY UPDATE

<?php
$user = new User();
$user->name = 'easyswoole100';
$updateDuplicateCols = ['name'];
$user->insert($updateDuplicateCols); // INSERT  INTO `easyswoole_user` (`name`, `status`, `create_time`)  VALUES ('easyswoole100', 1, 1704521621) ON DUPLICATE KEY UPDATE `name` = 'easyswoole100'

$user = new User();
$user->name = 'easyswoole100';
$updateDuplicateCols = ['name', 'id' => 1];
$user->insert($updateDuplicateCols); // INSERT  INTO `easyswoole_user` (`name`, `status`, `create_time`)  VALUES ('easyswoole100', 1, 1704521622) ON DUPLICATE KEY UPDATE `id` = 1, `name` = 'easyswoole100'
主站蜘蛛池模板: 爱唯侦察 国产合集 亚洲 | 一区二区视频观看 | 五月激情四射网 | 亚洲免费视频在线 | 久久精品一区视频 | 亚洲欧美久久 | 国产精无久久久久久久免费 | 精品乱人伦一区二区三区 | 91精品一线二线三线精华液 | 日韩一级片在线观看 | 天天摸日日干 | 激情综合网五月 | 色小姐综合网 | 亚洲天堂精品在线 | 久久在草 | 五月婷婷六月婷婷 | 在线观看免费一区 | 男人天堂av网站 | 国内自拍第二页 | 亚洲视频在线免费看 | 国产成人免费视频 | 日日摸夜夜添夜夜躁好吊 | 天天干狠狠 | 色天天干 | 国产99久久久国产精品免费 | 亚洲激情免费视频 | 欧美中文在线观看 | 久草视频这里只有精品 | 成年人免费在线观看视频网站 | 九九热99视频| 成x99人av在线www | 性色一区二区三区 | 一级做a毛片免费视频 | 久久久99精品 | 一级毛片免费在线 | 在线一区二区三区 | 天堂av电影 | 精品日产乱码久久久久久仙踪林 | 日韩成人精品在线 | 黄色软件下载地址 | 亚洲成人免费电影 |