Я согласен с aynber, что сводная таблица, вероятно, будет соответствовать вашим потребностям лучше, чем строковый столбец с несколькими идентификаторами категорий, объединенными вместе.Однако, чтобы ответить на ваш вопрос, вместо
= '$id'
, который совпадает только в том случае, если полное поле соответствует полному $ id, вам, вероятно, просто нужно использовать
LIKE '%$id%'
, которыйобрабатывает% как символы подстановки для соответствия любому количеству символов до или после $ id
EDIT:
CREATE TABLE `blog_category_pivot` (
`blog_id` INT(11) UNSIGNED NOT NULL,
`category_id` INT(11) UNSIGNED NOT NULL,
PRIMARY KEY (`blog_id`, `category_id`),
CONSTRAINT `blog_fk` FOREIGN KEY (`blog_id`) REFERENCES `blogs` (`id`),
CONSTRAINT `category_fk` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`)
);
Затем, чтобы использовать данные, вы можете просто сделать выбор из блогов и присоединиться кТаблица blog_category_pivot для проверки наличия данной категории.Если вы хотите перечислить категории блога, у вас уже есть идентификатор, вы можете выбрать имя из категорий, присоединяющихся к таблице blog_category_pivot в blog_id = $ blog_id и category_id = Categories.id