php设置多个主键,php – 如何在eloquent中创建多列主键

我将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.

jrxVp.png

所以我的问题是如何在删除之后检查course_order之间的缺失值以填充位置?

P.S一个mysql解决方案比我认为的更快,更好.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值