Laravel, если нет данных из отношения выбора многие ко многим

Как проверить, есть ли данные из базы данных
Моя БД выглядит так

Laravel, если нет данных из отношения выбора многие ко многим

Моя модель пользователя

public function monsters()
{
    return $this->belongsToMany('App\Monster')->orderBy('star');
}

Мой Контроллер

public function list_monster_user()
{
    //GET USER LOGIN ID
    $id = Auth::user()->id;

    $monster_user = User::find($id);

    //IF DATA IS NOT EMPTY OR USER HAVE MONSTERS
    if (!is_null($monster_user->monsters))
    {
        return 'yes';
    }

    //IF DATA IS EMPTY OR USER DOESNT HAVE ANY MONSTER
    else
    {
        return 'nope';
    }
}

Я использую ajax, поэтому результат будет возвращен ajax.
Я не получаю желаемой отдачи. Я знаю, что с моим оператором if что-то не так.
Но я не мог этого понять.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку вы не соблюдаете соглашения об именах, вам следует указать все поля в функции belongsToMany. Попробуй это:

return $this->belongsToMany('App\Monster', 'karakter_has_monster', 'karakter_id', 'monster_id');

А чтобы проверить результаты, вы можете использовать count(). Быстрее бы.

if ($monster_user->monsters()->count() > 0) {
    //has monsters
}

Другие вопросы по теме