Datatables - Editor: запрос на поиск дубликатов

Рейтинг: 0Ответов: 0Опубликовано: 04.05.2015

Работаю над таблицей в datatables, встала задача, показать дублирующиеся строки по имени столбцов таблицы MYSQL.

Синтаксис у представления свой, вот ссылка на мануал по нему: http://editor.datatables.net/manual/php/

Вот, пример кода:

  Editor::inst($db, 'product', 'product.id')->fields(Field::inst('product.date_available')->validator('Validate::dateFormat', array(
        'format' => 'Y-m-d'
    ))->getFormatter('Format::date_sql_to_format', 'Y-m-d')->setFormatter('Format::date_format_to_sql', 'Y-m-d'), Field::inst('product.mbr_view_status'))->leftJoin('product_to_catalog', 'product.id', '=', 'product_to_catalog.product_id')->leftJoin('catalog', 'product_to_catalog.catalog_id', '=', 'catalog.id')->process($_POST)->json();

Как я понял, в leftJoin можно передавать массив такого типа:

array(
    'table' => '',
    'field1' => '',
    'operator' => '',
    'field2' => ''
);

Сам запрос, который ищет дубликаты выглядит так:

SELECT p1.sku, p1.image_url
  FROM ( SELECT sku, image_url
           FROM product
         GROUP 
             BY sku, image_url
         HAVING COUNT(*) > 1 ) AS p2
INNER
  JOIN product p1
    ON p1.sku    = p2.sku OR p1.image_url = p2.image_url

с двумя именами стобцов таблицы sku и image_url, вот только не понятно, как добавить его к первому коду в посте.


тут указано, как передавать массив http://editor.datatables.net/manual/php/array-joins , но синтаксис довольно сложный получется, пытался передать как в мануале, но безуспешно json на выходе с php ошибками :-(( Помогите, понять построение таких запросов, т.к datables очень удобный инструмент для небольших задач, думаю многим пригодится.

Ответы

Ответов пока нет.