В отношении attachOne , Это работает, потому что вы пытаетесь получить галерею даже после использования for loop
через {{ image.gallery.thumb(100, auto) }}
.
Для attachMany отношения, вам нужно будет сделать что-то вроде этого.
{% for image in ads.gallery %}
<img src="{{ image.thumb(100, auto) }}">
{% endfor %}
Для получения дополнительной информации посетите эту официальную ссылку документации Здесь.
И, если у вас все еще есть какие-либо сомненияПрокомментируйте, пожалуйста.
РЕДАКТИРОВАТЬ
Таким образом, вы используете этот запрос на странице,
$this['ads'] = Advert::whereHas('cats', function ($query) use ($slug)
{
$query->where('slug',$slug);
})->get();
Теперь, основываясь на вашем запросе, выизвлекают несколько объявлений на странице, поэтому вам нужно будет написать один цикл для показа ваших объявлений на странице и в цикле для галереи
{% for ad in ads %}
//to get values from you can do {{ad.name}}
//to get gallery values from particular ad, you will need to write for loop again(because you have used relation attachMany)
{% for image in ad.gallery %}
<img src="{{ image.thumb(100, auto) }}">
{% endfor %}
{% endfor %}
И чтобы получить галерею, вы должны использовать нетерпеливая загрузка , поэтому ваш запрос должен быть
$this['ads'] = Advert::with('gallery')->whereHas('cats', function ($query) use ($slug)
{
$query->where('slug',$slug);
})->get();