@YakushinIlya

Laravel вывод записей по схожим категориям многие ко многим как?

Здравствуйте!
Уже несколько часов ковыряюсь и не могу понять как это сделать. Но я уверен что ответ где то рядом.

Есть таблица записей post и есть таблица категорий category, а также, есть связывающая таблица category_post куда записываются id категорий и записей (id_category, id_post).

Задача состоит в том, что нужно вывести похожие записи. То есть, заходя в запись у которой имеется например 2 категории с id 5 и 4, нужно вывести любые другие записи тех же категорий.

Вот что у меня получилось, но там записи повторяются:
$resultCat = PostModel::where('id', $id)->with('category')->get();
        $result = [];
        foreach($resultCat[0]->category as $cat) {
            $resultPost = CategoryModel::where('id', $cat->id)->with('post')->get();
            foreach($resultPost[0]->post as $post) {
                if ($post->id!=$id) {
                    $result[] = $post;
                }
            }
        }
        return $result;


Я уверен что можно на много проще и возможно даже без циклов это сделать. Буду благодарен за ответ!
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы