Я считаю, что вы новичок в CodeIgniter. Лучше провести некоторое исследование, чтобы получить представление о том, как на самом деле работает MVC (Model View Controller). Я дам вам основную идею: VIEW
- это то, где вы используете HTML, например, отображение формы, любые выходные данные и т. Д. MODEL
- это то, где вы пишете код для взаимодействия с БД. Как INSERTIONS, UPDATIONS, SELECT запросов и т. Д. И CONTROLLER
- это место, где вы делаете свою бизнес-логику, проверки и т. Д.
В приведенном выше фрагменте кода вы используете данные, отправленные из формы непосредственно внутри вашей МОДЕЛИ. Это не самый лучший подход. Примите это (от $this->input->post()
внутри вашего КОНТРОЛЛЕРА, затем выполните проверки и передайте его МОДЕЛИ.
И возвращаясь к вашему вопросу, вы хотите вставить first_name
и last_name
в user_details_table
и email
и password
в другую таблицу (snm_users_table
)
Для этого сначала выполните вставку в основную таблицу. Я верю, что это snm_users_table
. И я предполагаю, что у вас есть первичный ключ с именем user_id
или что-то для идентификации каждой записи. Итак, вставив в эту основную таблицу User, вы можете получить last_insert_id
(идентификатор этой новой вставленной строки), используя эту функцию: $this->db->insert_id()
Теперь вы можете использовать это user_id
, возвращаемое вышеупомянутой функцией, чтобы вставить другие детали в вашу вторую таблицу, которая является user_details_table
.
Вы можете использовать TRANSACTIONS во время этих вставок, чтобы в конечном итоге вы не вставили запись в одну таблицу и ни одной записи в другую таблицу в случае каких-либо ошибок! Потому что транзакции помогут вам откатить изменения в случае каких-либо проблем!
Подробнее здесь:
https://www.codeigniter.com/user_guide/database/transactions.html
Надеюсь, это даст вам идею. :)