Laravel主键不允许为空

时间:2018-12-31 23:06:03

标签: laravel laravel-nova

i”使用laravel + Nova连接到现有软件的现有数据库。主键不是默认的“ ID”,因此在“模型”中我将其更改为:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class products extends Model
{
    //
    protected $table = 't_items';
    protected $primaryKey = 'item_num';

    public $timestamps = false;

}

================================================ ============== 更改和更新satabase(使用nova)时,没有错误。 但是,当使用保存(对于新行或现有行)时,会出现错误:

SQLSTATE[42000]:[Microsoft][ODBC Driver 13 forSQL Server][SQL Server] Error converting data type nvarchar to numeric 9SQL select top 1 * drom [t_items][item_num] = null

"item_num" is defined as:
numeric
primary key
Allo nulls = false
Identity = false
Identity seed = 0
Identity increment = 0
Length = 9
Numeric precision = 10
Numeric scale = 0

我应该添加什么。我认为laravel在保存时未定义ID,服务器需要它

1 个答案:

答案 0 :(得分:0)

您必须将列设置为允许空值。这与Laravel无关。尽管您不希望像在“ id”列中那样简单地设置一个递增的id,这是一种非常奇怪的情况。