Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как правильно оформить данный запрос в модель product.php


Recommended Posts

Всем доброго дня, нужно данный запрос добавить в модель product.php административной панели.
Но я не могу разобраться как его оформить правильно)
 

DELETE
    p1
FROM
    oc_product_image p1,
    oc_product_image p2
WHERE
    p1.product_image_id < p2.product_image_id AND p1.image = p2.image

Буду очень благодарен за подсказку.

Надіслати
Поділитися на інших сайтах


28.07.2022 в 17:16, spectre сказал:

Вам бы для начала понять зачем это вам нужно

Нужно при сохранении товара проверять на дубли дополнительные изображения в товарах и удалять их)

Надіслати
Поділитися на інших сайтах


$this->db->query("DELETE 'p1' FROM " . DB_PREFIX . "product_image p1, " . DB_PREFIX . "product_image p2 WHERE (p1.product_image_id < p2.product_image_id) AND (p1.image = p2.image)");

Делаю так, но не срабатывает. Может что-то неверно тут

Надіслати
Поділитися на інших сайтах


28.07.2022 в 17:20, dubjik234 сказал:

Нужно при сохранении товара проверять на дубли дополнительные изображения в товарах и удалять их)

в таком случае это плохая идея

Надіслати
Поділитися на інших сайтах

28.07.2022 в 16:04, dubjik234 сказал:

Но я не могу разобраться

А кто Вам запрос составлял? 
Бо DELETE table FROM table не укладывается в моей голове. Не могу понять логику запроса :)
Возможно, конечно, жара и я торможу, но интуиция подсказывает что "что-то тут не так".

Надіслати
Поділитися на інших сайтах

28.07.2022 в 17:38, nogocuHoBuk сказал:

А кто Вам запрос составлял? 
Бо DELETE table FROM table не укладывается в моей голове. Не могу понять логику запроса :)
Возможно, конечно, жара и я торможу, но интуиция подсказывает что "что-то тут не так".

Нашёл на просторах интернета)
Через phpmyadmin прекрасно работает, а вот как его записать в модели для запуска - нет)

Надіслати
Поділитися на інших сайтах


28.07.2022 в 17:42, dubjik234 сказал:

Через phpmyadmin прекрасно работает,

Ну так в editProduct добавляйте. Причем учитывая сам запрос можно перед этим вставить:
 

$this->db->query("DELETE FROM " . DB_PREFIX . "product_to_download WHERE product_id = '" . (int)$product_id . "'");


Я всё ещё не понимаю зачем, но всё в Ваших руках :)
И да. Не забудьте обновить модификаторы после изменения модели. Это обязательно.

Надіслати
Поділитися на інших сайтах

$this->db->query("DELETE 'p1' FROM " . DB_PREFIX . "product_image p1, " . DB_PREFIX . "product_image p2 WHERE (p1.product_image_id < p2.product_image_id) AND (p1.image = p2.image)");

А сам запрос я правильно записал?

Надіслати
Поділитися на інших сайтах


28.07.2022 в 17:53, dubjik234 сказал:

А сам запрос я правильно записал?

Как я писал выше - я так и не понял что этот запрос делает. 
Но согласно синтаксису - всё правильно )

  • +1 1
Надіслати
Поділитися на інших сайтах

28.07.2022 в 17:58, nogocuHoBuk сказал:

Как я писал выше - я так и не понял что этот запрос делает. 
Но согласно синтаксису - всё правильно )

Запрос удаляет дубли в дополнительных изображениях товаров.
При добавлении в модель выдает ошибку в синтаксисе запроса

Надіслати
Поділитися на інших сайтах


28.07.2022 в 18:00, dubjik234 сказал:

выдает ошибку в синтаксисе запроса

Да. кавычки не те.

либо

$this->db->query("DELETE `p1` FROM " . DB_PREFIX . "product_image p1, " . DB_PREFIX . "product_image p2 WHERE (p1.product_image_id < p2.product_image_id) AND (p1.image = p2.image)");

либо
 

$this->db->query("DELETE p1 FROM " . DB_PREFIX . "product_image p1, " . DB_PREFIX . "product_image p2 WHERE (p1.product_image_id < p2.product_image_id) AND (p1.image = p2.image)");

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.