我想在laravel 5.3中构建这样的查询
SELECT p.post_text, p.bbcode_uid, u.username, t.forum_id, t.topic_title, t.topic_time, t.topic_id, t.topic_poster
FROM phpbb_topics t, phpbb_posts p, phpbb_users u
WHERE t.forum_id = 9
AND p.post_id = t.topic_first_post_id
AND u.user_id = t.topic_poster
ORDER BY t.topic_time
DESC LIMIT 10
答案 0 :(得分:2)
例如,考虑有两个表,一个是用户,另一个是帖子
创建迁移时将user_id外键添加到posts表中
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
创建用户和发布模型,并在用户模型中定义与发布的关系为
public function post(){
return $this->hasMany(Post::class);
}
并在帖子模型中定义与用户模型的关系
public function user(){
return $this->belongsTo(User::class);
}
现在您可以从Post模型中获取用户
$post = Post::findOrFail(1);
return $post->user;