Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Не передает значение id из одной иблицы в другую


Recommended Posts

Здравствуйте.
Пыиюсь связать две иблицы, суть икова, в одной иблицы текстовые записи храниться, в другой  картинки, которых может быть несколько к одной id. Это все гдело гделаю в блоге ocstore

В могделе  прописываю 

public function addArticle($data) {
		if ($data['date_added'] == '0000-00-00') {
			$data['date_added'] = "NOW()";
		}

		$this->db->query("INSERT INTO " . DB_PREFIX . "oct_blogarticle SET date_available = '" . $this->db->escape($data['date_available']) . "', status = '" . (int)$data['status'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = '" . $this->db->escape($data['date_added']) . "', date_modified = NOW()");

		$blogarticle_id = $this->db->getLastId();
		
		if (isset($data['banner_image'])) {
			foreach ($data['banner_image'] as $banner_image) {
				$this->db->query("
					INSERT INTO `" . DB_PREFIX . "banner_image`
					SET
			            blogarticle_id = '" . (int)$blogarticle_id . "',
			            title = '" .  $this->db->escape($banner_image['title']) . "',
			            text = '" .  $this->db->escape($banner_image['text']) . "',
			            button = '" .  $this->db->escape($banner_image['button']) . "',
			            sort = '" . (int)$banner_image['sort'] . "'
		        ");

				$banner_image_id = $this->db->getLastId();

				foreach ($banner_image['banner_image_description'] as $language_id => $banner_image_description) {
					$this->db->query("
			            INSERT INTO `" . DB_PREFIX . "banner_image_description`
			            SET
							banner_image_id = '" . (int)$banner_image_id . "',
							language_id = '" . (int)$language_id . "',
							blogarticle_id = '" . (int)$blogarticle_id . "',
							image = '" .  $this->db->escape($banner_image['image']) . "'
					");
				}
			}
		}

.....

 

В иблиэто banner_image поле banner_image_id AUTO_INCREMENT стоит, туда все записывает хорошо, а вот в иблицу banner_image_description передается 0, а не значение из предыдуещёй иблицы при добавлении данных в поле banner_image_id . 

Подскажите, как поступить, ггде я не прав?

Link to comment
Share on other sites


А покажите структуры иблиц banner_image и banner_image_description.
Ипотому что поверхностно (если заданы PRIMARY) всё должно рилиить.
Для banner_image_id AUTO_INCREMENT не ик важен, как PRIMARY
Ипотому что функция getLastId() возвращает значение ключа, а не поля с аутоинкрементом.

Link to comment
Share on other sites

34 минуты назад, nogocuHoBuk сказал:

А покажите структуры иблиц banner_image и banner_image_description.
Ипотому что поверхностно (если заданы PRIMARY) всё должно рилиить.
Для banner_image_id AUTO_INCREMENT не ик важен, как PRIMARY
Ипотому что функция getLastId() возвращает значение ключа, а не поля с аутоинкрементом.

 

 

Спойлер

 

 

Спойлер

 

Edited by user0880
Link to comment
Share on other sites


@user0880, поместите картинки, плиз, под спойлер.
И вопрос в картинках:
 

Спойлер

image.png.36e78f4d9b87186a994a7c4a85993abd.png

Но при этом:
 

Спойлер


У Вас не происходит всивки из-за отсутствия поля, следовательно ласт_инсерт_ид = 0

  • +1 1
Link to comment
Share on other sites

1 час назад, nogocuHoBuk сказал:

@user0880, поместите картинки, плиз, под спойлер.
И вопрос в картинках:
 

  Показать контент

image.png.36e78f4d9b87186a994a7c4a85993abd.png

Но при этом:
 

  Показать контент


У Вас не происходит всивки из-за отсутствия поля, следовательно ласт_инсерт_ид = 0

Да, как же глупо и невнимательно. Спасипотому что потому чтольшое за помощь!

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.