我在这个laravel插入代码中遇到问题。每当创建新公司时,我都会获得与Company创建时一样的输出,但company_name为0。我不知道为什么会这样。我的代码是
控制器:
public function store(Request $request)
{
$Company = new Company([
'company_name' => $request->input('company_name'),
'head'=>$request->input('head'),
'Email'=>$request->input('email'),
'address'=>$request->input('address'),
'phno'=>$request->input('phno'),
'contact_person'=>$request->input('contact_person')
]);
if ($Company->save()) {
$response = [
'msg' => 'Company Created',
'Company' => $Company
];
return response()->json($response, 201);
}
$response = [
'msg' => 'An Error Occurred',
];
return response()->json($response, 502);
}
Run Code Online (Sandbox Code Playgroud)
我的模型代码是:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
//
protected $table = 'companies';
public $timestamps = false;
protected $primaryKey = 'company_name';
protected $fillable = ['company_name','head','contact_person','phno','email','address'];
}
Run Code Online (Sandbox Code Playgroud)
输入:
{
"company_name":"cachii1",
"head":"sankar",
"email":"sankar@gmail.com",
"address":"chennai",
"phno":"123",
"contact_person":"sankar"
}
Run Code Online (Sandbox Code Playgroud)
输出:
{
"msg": "Company Created",
"Company": {
"company_name": 0,
"head": "sankar",
"address": "chennai",
"phno": "123",
"contact_person": "sankar"
}
}
Run Code Online (Sandbox Code Playgroud)
数据库架构是数据库架构是数据库架构是
public function up()
{
Schema::create('companies', function (Blueprint $table) {
// $table->increments('company_id');
$table->string('company_name');
$table->primary('company_name');
$table->string('head');
$table->string('contact_person');
$table->bigInteger('phno');
$table->string('email');
$table->text('address');
});
Run Code Online (Sandbox Code Playgroud)
默认情况下,Laravel希望您的模型主键是自动递增的。从您发布的内容来看,您的示例似乎并非如此。
将此添加到模型定义中:
public $incrementing = false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |