2017-01-26 1 views
0

Недавно я получаю ошибку ниже моего текущего приложения. когда пытаетесь вставить запись с помощью красноречивого. Этот код отлично работал в последние несколько месяцев. Теперь он просто бросает ошибку после ввода «1303» записей.Нарушение ограничений целостности: 1062 Дублирующее поле

SQLSTATE [23000]: Integrity нарушение ограничения: 1062 дубликат ей чемпион '1304' влить La Clef 'PRIMARY' (SQL: вставить в orderrequest

Перевести: Английский SQLSTATE [23000]: Integrity ограничения нарушение: 1062 Дублированный поле '1304' для ключа в 'Primary' (SQL: вставки в orderrequest

$today = date("Y-m-d H:i:s"); 
    $order = OrderModel::find($id); 
    $kot = new OrderrequestModel; 
    $kot->orid = $id; 
    $kot->location = $order->location; 
    $kot->provider = "kitchen"; 

    $orderitems =OrderitemModel::where('orid', '=', $id)->get(); 
    $total = 0; 


    foreach ($orderitems as $orderitem) { 
     //$total = $total+($orderitem->price * $orderitem->qty); 
     if($orderitem->provider=="kitchen"){ 
    $kot->token .= '<tr> 
      <td align="left">'.$orderitem->fiid.'</td> 
      <td align="left">'.$orderitem->item.'</td> 
      <td align="center">'.$orderitem->provider.'</td> 
      <td align="center">'.$orderitem->qty.'</td> 

      </tr>'; 
      $orderitem->isreq = "k"; 
      $orderitem->save(); 
     } 
    } 
    $kot->token .= '</table>'; 
    $kot->type = "full"; 
    $kot->save(); 
+2

вы, вероятно, уже есть запись, соответствующую той же 'первичной id' в таблице. –

+0

ключевой ключ PRIMARY равен 1303. – Kombuwa

+0

Проверьте, не является ли ваша 'primary_key'' auto incrimantal' – Gayan

ответ

0

не знаю причину б ut после того, как я изменил Type от mediumint (9) до int (11), теперь код отлично работает. Если вы знаете причину этого, прокомментируйте ниже

0

Эта ошибка возникает, когда вы пытаетесь вставить ее в базу данных. Laravel пишет, что ваш первичный ключ уже существует в базе данных.

В модели первичный ключ OrderitemModel orid? Вы снова записали данные.

Использование OrderitemModel :: findOrNew ($ ORID)

+0

в первичном ключе OrderitemModel - это просто «id». и orid только внешний ключ – Kombuwa

+0

@ Kombuwa случайно 'orid' не уникально? – Takamura