У меня есть этот код внутри функции в пользовательском контроллере. Я использую Codeigniter.
$name_user = $this->input->post('contact-company');
$company_name = $this->input->post('name-company');
$company_orgnr = $this->input->post('orgnr-company');
$phone_company = $this->input->post('phone-company');
$email_company = $this->input->post('email-company');
//Insert a a new user
$user_info = array(
'username' => $email_company,
'name_user' => $name_user
);
$company_info = array(
'name' => $company_name,
'orgnr' => $company_orgnr,
'phone' => $phone_company,
'email' => $email_company
);
//Insert a new user in db
$query_insertuser = "START TRANSACTION";
//Get sql for inserting a new user
$um = new Usermodel();
$query_insertuser .= $um->getSQLInsert($user_info);
//Get sql for inserting a new company
$cm = new Companymodel();
$query_insertuser .= $cm->getSQLInsert($company_info);
//Get sql for inserting relation between user
//and company (How do I get ID of user and ID of company to use?)
$upm = new Userprofilemodel();
$query_insertuser .= $upm->getSQLInsert();
$query_insertuser .= "COMMIT";
//Do the atual insert
$um->insert($query_insertuser);
Он используется для обработки регистрации через форму. (Проверка выполняется с помощью библиотеки проверки формы) -
- Пользователи с именем пользователя, name_user хранятся в таблице пользователей
- Компании хранятся в таблице компаний
- Отношения между компаниями и пользователями хранятся в таблице userprofile
Я думаю, что код говорит сам за себя, но мне не ясно, как вставить отношение в модель профиля пользователя. Мне нужен последний вставленный идентификатор для пользователя и последний вставленный идентификатор для компании, но в моем коде у меня этого нет, потому что я фактически не вставляю никаких пользователей или компаний перед вызовом $upm->getSQLInsert();
Или я делаю это неправильно? Пожалуйста, дайте мне какие-либо указатели ...