Как сохранить данные в таблицах MySql с отношением HAS_MANY рекурсивным способом в Yii 1.7

У меня есть данные JSON, и я хочу сохранить все данные в базе данных одновременно. Схема базы данных показана на рисунке. так что я могу видеть здесь второй порядок HAS_MANY отношение esaverelatedbehavior Позвольте мне сохранить только данные первого заказа, например, company_* , Есть ли способ сохранить все данные сразу во все таблицы?
введите описание изображения здесь

0

Решение

Невозможно вставить данные во многие таблицы одним запросом на вставку

Вы должны использовать транзакции для выполнения многих вставок

public function saveJsonData()
{

/**
* parsing your json data
*/

$transaction = Yii::app()->db->beginTransaction();

try {
$company = new Company();
$company->setAttributes($company_data);

if (!$company->save()) {
throw new Exception('some exception');
}

foreach ($otherCompanyRelatedDataList as $data) {
$otherCompanyData = new OtherCompanyData();
$otherCompanyData->setAttributes($data);
if (!$otherCompanyData->save()){
throw new Exception('some exception');
}
}

/**
*  save other data
*/$transaction->commit();

} catch (Exception $e) {
$transaction->rollback();
}
}
0

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

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

По вопросам рекламы [email protected]