我使用以下代码从数据库表中提取集合。
$profileVisits = DB::table('recently_visited')
->where('visitor_id',Auth::user()->id)
->orderBy('times_visited', 'desc')->get();
return view('profile.index')
->with([
'user' => $user,
'posts' => $posts,
'profileVisits' => $profileVisits,
]);
当我dd($ profileVisits)时,它会显示具有正确降序结果的集合。但是,当我使用以下代码将信息提取到我的视图中时,它不会像它应该的那样下降。 orderBy查询构建器是撤消还是带有"返回视图..."码?
视野中的代码......
@if (!$user->profileVisits->count())
@else
@foreach ($user->profileVisits as $topVisits)
<p>{{ $topVisits->getUsername() }}</p>
@endforeach
@endif
用户模型:
public function profileVisits()
{
return $this->BelongsToMany('App\Models\User', 'recently_visited', 'visitor_id', 'profile_id');
}
public function addProfileVisits(User $user)
{
$this->profileVisits()->attach($user->id);
}
public function previouslyVisited(User $user)
{
return (bool) $this->profileVisits()->get()->where('id', $user->id)->count();
}
答案 0 :(得分:0)
实际上,我只是想通了。在用户模型上,我添加了orderBy而不是在Controller中使用它。见下文。
用户模型:
public function profileVisits()
{
return $this->BelongsToMany('App\Models\User', 'recently_visited', 'visitor_id', 'profile_id')->orderBy('times_visited', 'desc');
}