如何在laravel 5.2中获取两个表的数据

时间:2017-02-11 20:05:17

标签: php mysql laravel eloquent

我和Laravel一起工作并陷入困境。我有以下表格: 学生表和关系表 学生表包含以下列 身份,姓名,性别,年龄和班级

关系表包含以下列 id,id_student_girl,id_student_boy和status

我需要显示如下输出: name_student_girl,name_student_boy和status

我试过的代码:

'%*s

我对此查询有错误任何想法,如何实现这一目标。我希望我能够清除我的情况。感谢

2 个答案:

答案 0 :(得分:0)

试试这个:

$query =DB::table('student')
->join('relation', function($join)
{
    $join->on('relation.id_student_girl', '=', 'student.id')
       ->orOn('relation.id_student_boy ', '=', 'student.id');
})->select('student.*','relation.*')->get();

即使这确实有效,我认为这是一个非常糟糕的数据库结构。为什么你的关系表有一个id_student_boy和id_student_girl列?两列之间是否存在关系?

答案 1 :(得分:0)

您可以使用此代码轻松获取所有关系数据。

App\Student::with('relation')->get();

但是要运行此代码,您需要在模型中描述表关系。 检查一下

$books = App\Book::with('author')->get();