我将Managers,Course_Type和Course Years存储在数据库中.
我将根据递增的值来命名我的课程,例如
Course_type course_order course_year Course_type[0] 1 2015 Course_type[0] 2 2015 Course_type[0] 3 2015 Course_type[0] 4 2015 Course_type[0] 1 2016 Course_type[1] 1 2015 Course_type[2] 1 2015 Course_type[2] 2 2015
所以我创建数据库就像
Schema::create('courses',function (Blueprint $table) { $table->increments('id'); $table->enum('course_type',[ 'Yos','TomerABC','TomerA1A2','TomerB1B2','TomerC1C2','TomerAB','TomerBC','SatMatGeo','SatCriRea','SatCriReaMat',]); $table->integer('added_by'); $table->integer('start'); $table->integer('year_code'); $table->integer('end'); $table->integer('course_order'); $table->unique( array('added_by','year_code','course_order') );
这是我在createprocess上的控制器
$courseorder = \App\Courses::where('added_by',\Auth::id()) ->where('year_code',$input['year_code'])->max('course_order'); $course->course_order = $courseorder + 1;
但是因为我在数据库中寻找max(‘course_order’)如果我删除让我们说课程顺序2.接下来添加的课程将是4而不是3.
所以我的问题是如何在删除之后检查course_order之间的缺失值以填充位置?
P.S一个mysql解决方案比我认为的更快,更好.
解决方法
您可以使用新表来存储已删除的记录. 当您首先需要一个新的course_order号码时,您应该检查DeletedCourses表.如果DeletedRecord有匹配的记录,则从DeletedRecords表中删除它并将其用于新的course_order.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。