вставить в виде таблицы в другой БД

У меня проблема с yii2, и мне нужна помощь:
У меня есть 2 базы данных в MsSQL db1 и db2, в db2 я имею представление к таблице db1. Проблема в том, что когда я вставляю в db2, я не могу получить идентификатор транзакции, используя $ model-> id или $ model-> getPrimaryKey ().
Кто-нибудь знает как это решить?
это моя модель:

<?php

namespace app\models;

use Yii;

class Documents extends \yii\db\ActiveRecord
{
public static function primaryKey()
{
return ['id'];
}

/**
* @inheritdoc
*/
public static function tableName()
{
return 'documents';
}

/**
* @inheritdoc
*/
public function rules()
{
return [
[['realname', 'size'], 'required'],
[['realname'], 'string'],
[['size'], 'integer'],
];
}

/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'realname' => 'Realname',
'size' => 'Size',
];
}/**
* @return \yii\db\ActiveQuery
*/
public function getDocumentSchoolRegistrationToInsurances()
{
return $this->hasMany(DocumentSchoolRegistrationToInsurance::className(), ['document' => 'id']);
}

/**
* @return \yii\db\ActiveQuery
*/
public function getDocumentSchoolregistrations()
{
return $this->hasMany(DocumentSchoolregistration::className(), ['document' => 'id']);
}

}

0

Решение

После долгих исследований и пересмотра исходного кода yii2 я понимаю, что после использования save () yii только перезагружает значения реестра, если первичный ключ является автоинкрементным, что в моем случае никогда не будет выполнено.
Поскольку это View, решение состоит в том, чтобы использовать Yii :: $ app-> db-> lastInsertID после использования save () метод, чтобы получить идентификатор, сгенерированный во вставке.
Я думаю, что было бы полезно иметь возможность принудительно загружать только что созданный реестр.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector