首页 > 解决方案 > 如何从收藏中获取用户?

问题描述

我有一些如下代码

$journey = Journey::find($id);
$users = $journey->users()->whereHas('user',function ($query) use ($search) {
                $query->where('first_name', 'LIKE', "%{$search}%");
             })
             ->orderBy($sort, $order)
             ->paginate($limit);

我想用get方法做​​如下;

$journeys = Journey::where('id',$id)->orWhere('duplicated_id',$id)->get();
$users = $journeys->users()->whereHas('user',function ($query) use ($search) {
                $query->where('first_name', 'LIKE', "%{$search}%");
            })
            ->orderBy($sort, $order)
            ->paginate($limit);

如何通过分页从上述集合中获取用户?

标签: laraveleloquentlaravel-7

解决方案


你可以这样做,

$journeyIds = Journey::where('id',$id)->orWhere('duplicated_id',$id)->pluck('id');
$userids = UserJourney::whereIn('journey_id',$journeyIds)->pluck('user_id');
$users = User::whereIn('id',$userids)
                ->where('first_name', 'LIKE', "%{$search}%")
                ->orderBy($sort, $order)
                ->paginate($limit);

推荐阅读