尝试在应用程序中获取用户的所有帖子并显示在具有相应列的表中,我尝试这种方式但显示异常:"试图获得非对象的属性" ,怎么解决?
public function usersPost(){
$uid = \Auth::user()->id;
$posts = DB::table('posts')->('user_id',$uid);
}
这里有两个表帖子,user和user_id是posts表的外键。
答案 0 :(得分:4)
public function usersPost() {
$posts = DB::table('posts')->where('user_id', auth()->id())->get();
}
答案 1 :(得分:4)
Laravel允许您将模型相互关联。例如,您可以将Post模型与用户模型相关联。
class User extends Eloquent {
public function posts() {
return $this->hasMany('Post');
}
}
在通过一对多关系指定用户有很多帖子后,您可以直接拨打所有用户的帖子。
$posts = User::find(user_id)->posts;
答案 2 :(得分:2)
你需要这样的where子句:
$posts = DB::table('posts')->where('user_id', $uid)->get();