• Изменено

Доброго времени суток, помогите разобраться с такой задачей. У меня есть новости, к каждой новости можно прикрепить превью данным методом:

public $attachOne = [
    'image' => 'System\Models\File'
];

выводится так:

$query = News::orderBy('title', 'asc')->where($where)->paginate($limit);

подскажите как мне запретить вывод новостей у которых нет фото?

  • reazzon ответили на это сообщение.

    Попробуй так;

    $query = News::doesntHave('image')->orderBy('title', 'asc')->where($where)->paginate($limit);
    • Maxim ответили на это сообщение.
      reazzon изменил(а) название на "Вывод записей у которых нет связи с другой моделью.".

      reazzon немного не так меня поняли) но все же дали верное направление)
      $query = News::has('image')->orderBy('title', 'asc')->where($where)->paginate($limit);
      вот так у меня заработало

      • reazzon ответили на это сообщение.

        Maxim немного не так меня поняли)

        Maxim как мне запретить вывод новостей у которых нет фото?

        • doesntHave – переводится как не имеет
        • Has – переводится как имеет

        И вы говорите что я не так вас понял) Я читал ваш вопрос и на него отвечал)

        • Maxim ответили на это сообщение.

          reazzon дело то в том что как раз таки has вывел все новости у которых есть фото (что мне и нужно было), а вот doesntHave выводит только новости без фото

          Твой первый пост

          Maxim подскажите как мне запретить вывод новостей у которых нет фото?

          Ты изначально написал что тебе нужно вывести посты у которых НЕТ фото. Ты видимо ошибся в первом посте.

          • Maxim ответили на это сообщение.

            reazzon а может и так) но задача была решена) подскажите а можно как то отсортировать по наличию фото? так чтобы новости в которых нет фото были в конце списка

            • reazzon ответили на это сообщение.

              Maxim попробуй в orderBy() подставить image, я такое не тестировал, может и сработает)