我的口才有点问题。我有3张桌子。Users、phrases、 和phrase_user。短语用户包含列:id, phrase_id, user_id 例如,我需要使用数据透视表选择短语。 这个使用 SQL 的操作将是这样的......SELECT phrase FROM phrases LEFT JOIN phrase_user ON phrases.id = phrase_user.phrase_idLEFT JOIN users ON phrase_user.user_id = $userId这是我在控制器中的索引函数$phrases = DB::table('phrases')->orderBy('id','desc')->Paginate(5);$user = Auth::user(); return view('pages.phrases.index')->with(['phrases' => $phrases, 'user' => $user]);我也在模型中编写了这些函数...短语模型:public function users(){ return $this->belongsToMany('App\User')->withTimestamps();}用户模型:public function phrases(){ return $this->belongsToMany('App\Phrase')->withTimestamps();}在这种情况下,分页器无法正常工作,因为$phrases = DB::table('phrases')->orderBy('id','desc')->Paginate(5); 存在一些问题。结论:我只需要在短语页面中显示我的短语。每个用户都必须有自己的短语。
2 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
$userId = 2;
$phrases = DB::table('phrases')->whereHas('users', function ($q) use ($userId) {
$q->whereId($userId);
})->orderBy('id','desc')->Paginate(5);
$user = Auth::user();
return view('pages.phrases.index')->with(['phrases' => $phrases, 'user' => $user]);
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
尝试使用小写分页
$phrases = DB::table('phrases')->orderBy('id','desc')->paginate(5);
- 2 回答
- 0 关注
- 118 浏览
添加回答
举报
0/150
提交
取消