2014-09-01 3 views
0

Я пытаюсь получить последний вставить ID так:Последний Вставить идентификатор NULL в Laravel

$leadData = [ 
      'first_name'  => $first_name,  
      'last_name'   => $last_name, 
      'phone_number'  => $phone_number, 
      'company'   => $company,  
      'email_address'  => $email_address, 
      'iso_code'   => $iso_code,  
      'product'   => $product,  
      'transaction_id' => $transaction_id, 
      'rep_name'   => $rep_name, 
      'ip_address'  => $ip_address 
     ]; 

     //insert lead into DB 
     $lead = new Lead(); 
     $lead->create($leadData); 
     //dd($lead); 
     $leadId = $lead->id; 
     dd($leadId); 

но $ leadId является NULL каждый раз. Моя запись правильно вставлена ​​в таблицу MySQL. Это, по-видимому, глупая проблема, но в последний час я был в тупике.

Как мог $ leadID быть пустым?

+1

Является ли идентификатор в таблице автоматическим приращением? –

+0

Да, спасибо. Сначала я предположил, что это потому, что мой столбец «id» не был объявлен как заполняемый, но, кажется, автоинкрементные столбцы невосприимчивы к этому. См. Мой ответ ниже. –

ответ

1

Я понял, мне пришлось сначала присвоить значение переменной -> create() переменной, а затем использовать метод -> id, как в моем первом примере.

изменения

$lead = new Lead(); 
$lead->create($leadData); 
$leadId = $lead->id; 

в

$lead = new Lead(); 
$result = $lead->create($leadData); 
$leadId = $result->id; 
0

Просто продолжайте создавать объект одной переменных и распечатать эту печать этого переменного объекта

//insert lead into DB 
$lead = new Lead(); 
$lead->create($leadData); 
//dd($lead); 
$leadId = $lead->id; 
dd($leadId); 

в

$lead = new Lead(); 
$leadData = $lead->create($lead); 
//dd($leadData); 
$leadId = $leadData->id; 
dd($leadId) 
Смежные вопросы