dotzero/yii-insertupdate-behavior

该软件包已被废弃,不再维护。未建议替代软件包。

Yii InsertUpdateCommandBehavior 扩展向 yii 的 CDbCommand 实现的默认功能添加了一些功能

v1.0.0 2016-04-30 07:41 UTC

This package is auto-updated.

Last update: 2022-06-04 08:33:56 UTC


README

Latest Stable Version License

InsertUpdateCommandBehavior 扩展向 yii 的 CDbCommand 实现的默认功能添加了一些功能。创建并执行一个带 ON DUPLICATE KEY UPDATEMySQL 插入语句。

要求

安装

通过 composer 安装

$ composer require dotzero/yii-insertupdate-behavior

将供应商路径和导入路径添加到您的配置文件中

'aliases' => array(
    ...
    'vendor' => realpath(__DIR__ . '/../../vendor'),
),
'import' => array(
    ...
    'vendor.dotzero.yii-insertupdate-behavior.*',
),

基本用法

$command = Yii::app()->db->createCommand();
$command->attachBehavior('InsertUpdateCommandBehavior', new InsertUpdateCommandBehavior);
$command->insertUpdate('tbl_user', array(
    'name'=>'Tester',
    'email'=>'tester@example.com',
    'counter'=>'1'
), array(
    'name'=>'Tester',
    'email'=>'tester@example.com'
));

创建并执行一个带 ON DUPLICATE KEY UPDATEMySQL 插入语句

INSERT INTO `tbl_user` (`name`, `email`, `counter`)
VALUES ('Tester', 'tester@example.com', 1)
ON DUPLICATE KEY UPDATE `name`='Tester', `email`='tester@example.com';

高级用法

$command = Yii::app()->db->createCommand();
$command->attachBehavior('InsertUpdateCommandBehavior', new InsertUpdateCommandBehavior);
$command->insertUpdate('tbl_user', array(
    'name'=>'Tester',
    'email'=>'tester@example.com',
    'counter'=>'1'
), array(
    'name'=>'Tester',
    'email'=>'tester@example.com'
    'counter'=>new CDbExpression('LAST_INSERT_ID(counter)');
));

创建并执行一个带 ON DUPLICATE KEY UPDATEMySQL 插入语句

INSERT INTO `tbl_user` (`name`, `email`, `counter`)
VALUES ('Tester', 'tester@example.com', 1)
ON DUPLICATE KEY UPDATE `name`='Tester', `email`='tester@example.com', `counter`=LAST_INSERT_ID(counter);

许可证

在 MIT 许可证下授权: https://open-source.org.cn/licenses/mit-license.php