Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在学生进入Laravel的一个教室时将多个数据插入一行?_Php_Mysql_Sql_Laravel - Fatal编程技术网

Php 如何在学生进入Laravel的一个教室时将多个数据插入一行?

Php 如何在学生进入Laravel的一个教室时将多个数据插入一行?,php,mysql,sql,laravel,Php,Mysql,Sql,Laravel,我正在从事类似电子学习网站的项目 我在数据库中制作了学生、教师、课程和教室的表格 计划是从仪表板进入教室,然后新建一个教室,连接1名教师、1门课程和这么多学生 我可以通过ID在it中插入教师和课程,但是学生呢? 我试着做另一张桌子,把所有的东西连接起来,但不知道怎么做 我想给我的解决方案,无论如何,即使我必须遵循另一个计划 谢谢,致以最良好的问候 您应该创建透视表种类 教室\学生。您将在这里存储教室ID和学生ID。 与使用关系 如果需要,不要忘记“透视表”、“外键”、“其他键” 迁移 publi

我正在从事类似电子学习网站的项目
我在数据库中制作了学生、教师、课程和教室的表格

计划是从仪表板进入教室,然后新建一个教室,连接1名教师、1门课程和这么多学生

我可以通过ID在it中插入教师和课程,但是学生呢? 我试着做另一张桌子,把所有的东西连接起来,但不知道怎么做

我想给我的解决方案,无论如何,即使我必须遵循另一个计划


谢谢,致以最良好的问候

您应该创建透视表种类
教室\学生
。您将在这里存储教室ID和学生ID。 与使用关系

如果需要,不要忘记“透视表”、“外键”、“其他键”

迁移

public function up()
{
    Schema::create('class_room_student', function (Blueprint $table) {
        $table->integer('student_id')->unsigned();
        $table->foreign('student_id')->references('id')->on('students')->onDelete('cascade');

        $table->integer('class_room_id')->unsigned();
        $table->foreign('class_room_id')->references('id')->on('class_rooms')->onDelete('cascade');

        $table->primary(['student_id', 'class_room_id']);
    });
}

public function down()
{
    Schema::dropIfExists('class_room_student');
}

首先让我们看看你的代码。第二,你可以使用关系(多对多和hasManyThrough),首先我还没有代码,我迷路了,第二,如何以这种方式使用关系?对不起,我是新来的拉威尔,谢谢我的教室控制器仍然是空的,因为我不知道读什么文档。哪一个???我只是想知道怎么做,你说了很多,所以我还在看:)那么我应该在教室里为每个学生排好队?这会让网站变得沉重吗?课程结束后,每个学生都将外出,直到我上下一节课,我需要手动选择学生,因为不是同一个班级的所有学生。可能吗?很抱歉回答得太长,你帮了很多忙,谢谢:)如果你使用索引,网站不会变得沉重和缓慢。您的数据表条目看起来像(stud_1-class_1 | stud_2-class_1 | stud_2-calss_2…)一个stud可以属于多个类。从长远来看,这不是很糟糕吗?这将产生大量数据,类不是一门课程,它不会总是同一个类,我每次都需要重新创建它,因为创建选定的名称时会收到包含缩放链接的消息,所以这就是为什么我失去了编辑帮助很大的感谢,但仍然需要如何从仪表板中选择它们?教室模型只需要学生id钥匙,对吗?这是这种情况下的标准解决方案。如果设置索引,应用程序将不会减速,即使有成千上万条记录。如果不需要,也可以删除数据。
public function up()
{
    Schema::create('class_room_student', function (Blueprint $table) {
        $table->integer('student_id')->unsigned();
        $table->foreign('student_id')->references('id')->on('students')->onDelete('cascade');

        $table->integer('class_room_id')->unsigned();
        $table->foreign('class_room_id')->references('id')->on('class_rooms')->onDelete('cascade');

        $table->primary(['student_id', 'class_room_id']);
    });
}

public function down()
{
    Schema::dropIfExists('class_room_student');
}