2017-07-07 59 views
0

我作为UNIQUEID把它命名为表实体,其中入门产生randomly.Such仿佛有现有UNIQUEID它将存储如何用现有的随机数据设置序列数据?

$customer->uniqueId = $request->Input(['uniqueId']) ?: mt_rand(1000, 9999); 

意味着现有否则将被设置为随机数。现在,而不是设置随机数,我想按顺序设置它。意味着从1,2,3这样的..因为我不能删除已创建的现有uniqueId如何创建新的条目与现有的顺序?

+0

是UNIQUEID是主键? –

+0

不,它只是一个条目,但它是独一无二的.means其他用户不应该有相同的ID – User57

+0

你在哪里/如何存储$ customer(s)? –

回答

0

如果您只需将列设置为自动增量,您将自动实现这一点,您甚至不需要调用它。

在laravel您可以在迁移由

$table->increments('uniqueId');

OR

实现这一目标可以通过

做到这一点让我们假设你有一个客户型号

// find the last entry in you table 

$oldCustomer = Customer::orderBy('uniqueId','DESC')->first(); 

$customer->uniqueId = ++($olderCustomer->uniqueId); 

我希望这有助于

**编辑**

$customers = Customer::all(); 

    $index = 1; 
    @foreach($customers as $customer) 
    { 
     $customer->uniqueID = $index++; 
     $customer->update(); 
    }  
+0

我可能无法让您理解我的问题是什么..假设uniqueId具有像4435那样的值6784然后2345 ..现在我想设置序列号像1 2 3 4而不是这个随机数..但我现有的数据库不应该受到影响意味着我不想uniqueId条目后2345 - > 2346我想要2345后1作为下一个入口应该是2 3那样 – User57

+0

@ User57我已经更新了我的答案看一看 –