【发布时间】:2018-12-11 02:39:48
【问题描述】:
在我开始真正讨厌 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 : (...)
用户 : 数组(3) 0 : {…} 1 : {…} 2 : {…}
这是正确的结果,除了 - 用户重复 - 因为一个用户可以发送多条消息。这就是为什么我试图以这种方式使它们独一无二:
foreach ($offers as $offer)
{
$offer->users = $offer->users->unique()->values()->all();
}
return $offers;
但这根本不起作用。我尝试了很多配置。我该如何解决?
【问题讨论】:
标签: laravel