Laravel中的Last Insert ID为NULL

时间:2014-09-01 09:25:49

标签: mysql laravel eloquent

我试图获取最后一个插入ID:

$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怎么可能是null?

2 个答案:

答案 0 :(得分:1)

我想通了,我必须首先将 - > create()的返回值赋给变量,然后使用 - > id方法,就像我的第一个例子一样。

更改

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

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

答案 1 :(得分:0)

只需将create对象保存到一个变量并打印此print这个变量对象

//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)