这是我的问题。请帮忙
我有这两个表课程和学生。学生参加课程。现在我想获得一个如图所示的特定课程,然后在学生表中查看该课程是否由学生参加。
Course table:
id
name
description
Student table:
user_id
course_id
semester
address
phone
我尝试了什么:
$course = Course::where('name', '=', $data["id"]);
$enroll= Students::where('course_id', '=', $course["id"]);
$enroll= Students::where('course_id', '=', $course->id);
$$result=$course->toArray();
$enroll= Students::where('course_id', '=', $course["id"]);
我需要搜索存储eloquent查询返回值的变量。
答案 0 :(得分:0)
对于特定用户和特定课程,您可以使用以下查询从学生表中获取记录集合:
$courceId = 1;
$userId = 1;
$enrolled = Students::where('course_id', $courseId)
->where('user_id', $userId)
->count() > 0;
$注册将具有真值或假值
答案 1 :(得分:0)
您可以使用雄辩的relationship
以更好的方式获得此功能。但是,您可以执行以下操作,假设您的course name
为$course_name
:
$course = Course::where('name', '=', $course_name)->first();
if($course!=null){
$enroll= Students::where('course_id', '=', $course->id)->get();
}
然后你可以check
如果它有数据或不喜欢
if($enroll!=[]){
echo 'this course has been taken by some student';
}
这里有一些学生是 $ enroll 学生。