прежде чем я действительно начну ненавидеть php и laravel, я попрошу о помощи
Я пытаюсь создать уникальные ценности пользователей, которые являются частью моей коллекции предложений.
Эта коллекция сделана по модели пользователя:
public function users(){
return $this->belongsToMany(User::class, 'messages', 'offer_id', 'from');
}
А в контроллере:
$user_id = auth()->user()->id;
$offers = Offer::where('user_id', $user_id)->orderBy('created_at','desc')->get();
foreach ($offers as $offer)
{
$offer->users;
}
return $offers;
Это как-то (?) Дает мне правильный результат с вложенными «пользователями» внутри моей коллекции предложений.
OFFER_TITLE
:
(...)
Пользователи
:
Array (3)
0
:
{...}
1
:
{...}
2
:
{...}
И это правильный результат, за исключением того, что пользователи дублируют друг друга, поскольку один пользователь может отправлять несколько сообщений. Вот почему я пытаюсь сделать их уникальными таким образом:
foreach ($offers as $offer)
{
$offer->users = $offer->users->unique()->values()->all();
}
return $offers;
но это не работает вообще. Я перепробовал много конфигураций. Как я могу это исправить?