Как ...?
Перестать велосипедить и сделать нормальные таблицы и связи. HasMany| Many to Many тут прекрасно подойдет (не знаю как оно там должно работать).
Пример:
Таблица guides:
id | name
Таблица categories:
id | name
Таблица для связи (category_guide):
guide_id | category_id
Прописываем для модели Guide:
public function categories()
{
return $this->belongsToMany('App\Models\Category');
}
И для модели Category:
public function guides()
{
return $this->belongsToMany('App\Models\Guide');
}
Теперь можем просто:
$ids = [1, 2, 3];
$guides = App\Models\Guide::whereHas('categories', function ($q) use ($ids)
{
return $q->whereIn('id', $ids);
})->get();
Получаем список всех гайдов, которые входя в категории с ID = 1, 2, 3
Или чтобы получить кол-во гайдов в катергории:
$category = Category::find(1);
$count = $category->guides()->count();