Php Laravel 5保存到数据库并返回id

Php Laravel 5保存到数据库并返回id,php,sql,postgresql,laravel-5,eloquent,Php,Sql,Postgresql,Laravel 5,Eloquent,我试图使用雄辩的save,同时使用 $var=$data->save(); 然后尝试返回主键。现在我的主键名为company\u id,但当我运行时:- $id=$data->company_id 它抛出了一个错误,说 列“id”在公司表中不存在 为什么公司id被重命名为id。将其放置在您的模型中 protected $primaryKey = 'company_id'; 使用insertGetId方法插入记录,然后检索ID 这是一个例子 $id = DB::table('t

我试图使用雄辩的save,同时使用

$var=$data->save();
然后尝试返回主键。现在我的主键名为
company\u id
,但当我运行时:-

$id=$data->company_id
它抛出了一个错误,说

列“id”在公司表中不存在

为什么公司id被重命名为id。

将其放置在您的模型中

 protected $primaryKey = 'company_id';

使用
insertGetId
方法插入记录,然后检索ID

这是一个例子

$id = DB::table('tableName')->insertGetId(
          ['name' => $request->input('name'),
           'address'=> $request->input('address')]
);
print_r($id);

您能否共享型号代码
$id
为空。因为您使用其他一些方法从数据库保存数据。您应该使用
insertGetId
方法从DB获取自动增量ID(主键)。下面我将我的答案和细节贴出来。你给出的解决方案只适用于一张表。我对其他表也做了类似的更改。。但是其他表仍然返回id,而不是主键的正确名称。--这是我的模型--使用illumb\Database\Eloquent\model;类类别扩展模型{protected$primary_key='cat_id';protected$filleble=['scheme_code','cat_name',];protected$table='categories';}--我保存的控制器代码--$temp_category->scheme_code=$last_inserted\u mf$临时类别->类别名称=$category$临时类别->保存();