批量插入代碼
Yii::$app->db->createCommand()->batchInsert($rangeDetailModel::tableName(),['type','range_id','value'],$branchArr)->execute();
想加入以下行為
public function behaviors()
{ 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();
回複內容:
批量插入代碼
Yii::$app->db->createCommand()->batchInsert($rangeDetailModel::tableName(),['type','range_id','value'],$branchArr)->execute();
想加入以下行為
public function behaviors()
{ 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();
createCommand
是 dao ,已經脫離了 ActiveRecord.
看你的ar就是簡單的設定時間,還是自己來吧。