Возможно, уникальность для всей таблицы products можно реализовать с помощью правила unique. Посмотри в эту сторону сначала, так как этот способ намного проще
И судя по ошибке - ты пользуешься билдером (DB), а не моделями, и у тебя в результате stdClass (что обычно и возвращает билдер), и в нем нет нужных тебе полей