如何从laravel 5.4中的3个表中选择所有第1列的行?
我想选择帖子,评论,用户post_id = comment.post_id
和comment.user_id = user.id
。
在post_title
的单页帖子中显示,评论按用户名
我有3张这样的表
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->text('title');
$table->longText('description');
$table->text('image');
$table->timestamps();
});
Schema::create('comments', function (Blueprint $table) {
$table->increments('id');
$table->longText('comment');
$table->integer('user_id');
$table->integer('post_id');
$table->timestamps();
});
Schema::create('users',function (Blueprint $table){
$table->increments('id');
$table->string('username',30)->unique();
$table->string('email')->unique();
$table->string('password',60);
$table->rememberToken();
$table->timestamps();
});
谢谢你的回答。
答案 0 :(得分:3)
使用Eloquent关系延迟加载数据可以很容易地做到这一点。
答案 1 :(得分:0)
您可以执行以下操作:
$items = \DB::table('post')
->leftJoin('comment','comment.post_id', '=', 'post.post_id')
->leftJoin('user','user.user_id', '=', 'comment.user_id')
->where('user.user_id',$user_id)
->get();