• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

yii2 中 批量插入的BEHAVIORS问题

php 搞代码 3年前 (2022-01-25) 20次浏览 已收录 0个评论
文章目录[隐藏]

批量插入代码

Yii::$app->db->createCommand()->batchInsert($rangeDetailModel::tableName(),[‘type’,’range_id’,’value’],$branchArr)->execute();

想加入以下行为

public function behaviors()

<code>{    return [        [            'class' => BlameableBehavior::className(),            'attributes' => [                ActiveRecord::EVENT_BEFORE_INSERT => ['create_by'],                ActiveRecord::EVENT_BEFORE_UPDATE  => 'lastupdate_by'            ]        ],        'timestamp' => [            'class' => 'yii\behaviors\TimestampBehavior',            'attributes' => [                ActiveRecord::EVENT_BEFORE_INSERT => ['create_dt', 'lastupdate_dt'],                ActiveRecord::EVENT_BEFORE_UPDATE => ['lastupdate_dt']            ]        ]    ];}这个行为在AR中是默认使用的 但是我用BATCHINSERT就不行 我试过这么写  然偶没什么软用   $beh['yii\behaviors\BlameableBehavior']=[            ActiveRecord::EVENT_BEFORE_INSERT => ['create_by'],            ActiveRecord::EVENT_BEFORE_UPDATE  => 'lastupdate_by'        ];        Yii::$app->db->createCommand()->batchInsert($rangeDetailModel::tableName(),['type','range_id','value'],$areaArr)->attachBehaviors($beh)->execute();</code>

回复内容:

批量插入代码

Yii::$app->db->createCommand()->batchInsert($rangeDetailModel::tableName(),[‘type’,’range_id’,’value’],$branchArr)->execute();

想加入以下行为

public function behaviors()

<code>{    return [        [            'cla<i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img>ss' => BlameableBehavior::className(),            'attributes' => [                ActiveRecord::EVENT_BEFORE_INSERT => ['create_by'],                ActiveRecord::EVENT_BEFORE_UPDATE  => 'lastupdate_by'            ]        ],        'timestamp' => [            'class' => 'yii\behaviors\TimestampBehavior',            'attributes' => [                ActiveRecord::EVENT_BEFORE_INSERT => ['create_dt', 'lastupdate_dt'],                ActiveRecord::EVENT_BEFORE_UPDATE => ['lastupdate_dt']            ]        ]    ];}这个行为在AR中是默认使用的 但是我用BATCHINSERT就不行 我试过这么写  然偶没什么软用   $beh['yii\behaviors\BlameableBehavior']=[            ActiveRecord::EVENT_BEFORE_INSERT => ['create_by'],            ActiveRecord::EVENT_BEFORE_UPDATE  => 'lastupdate_by'        ];        Yii::$app->db->createCommand()->batchInsert($rangeDetailModel::tableName(),['type','range_id','value'],$areaArr)->attachBehaviors($beh)->execute();</code>

createCommand 是 dao ,已经脱离了 ActiveRecord.

看你的ar就是简单的设置时间,还是自己来吧。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:yii2 中 批量插入的BEHAVIORS问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址