Eloquent 无法保存新对象:缺少 Illuminate\Database\Eloquent\Model::



我正在使用 Eloquent 作为独立包,创建新对象时(但在保存现有对象时(出现错误。

测试用例:

$contact = new Carriercontact;
$contact->fname = 'test1';
$contact->save();

型:

<?php
use IlluminateDatabaseEloquentModel as Eloquent;
class Carriercontact extends Eloquent {
// const CREATED_AT = 'create_dt'; // todo: add this
const CREATED_AT = false;
const UPDATED_AT = 'lst_chg';
protected $primaryKey = 'CarrContID';
public function company()
{
return $this->hasOne('Carrier', 'CarrID', 'CarrID');
}
public function getName()
{
ob_start();
if ( ! empty($this->salute)) echo trim($this->salute).' ';
if ( ! empty($this->fname)) echo trim($this->fname).' ';
if ( ! empty($this->minit)) echo trim($this->minit).' ';
if ( ! empty($this->lname)) echo trim($this->lname);
return trim(ob_get_clean());
}
}

桌子:

CREATE TABLE `carriercontacts` (
`CarrContID` INT(11) NOT NULL AUTO_INCREMENT,
`CarrID` INT(11) NULL DEFAULT NULL,
`compno` VARCHAR(12) NULL DEFAULT NULL,
`salute` VARCHAR(8) NULL DEFAULT NULL,
`fname` VARCHAR(20) NULL DEFAULT NULL,
`lname` VARCHAR(25) NULL DEFAULT NULL,
`minit` VARCHAR(1) NULL DEFAULT NULL,
`phone` VARCHAR(20) NULL DEFAULT NULL,
`faxno` VARCHAR(14) NULL DEFAULT NULL,
`cell` VARCHAR(15) NULL DEFAULT NULL,
`after_hrs` VARCHAR(20) NULL DEFAULT NULL,
`email` VARCHAR(75) NULL DEFAULT NULL,
`comments` LONGTEXT NULL,
`lst_chg` DATETIME NULL DEFAULT NULL,
`chg_by` VARCHAR(10) NULL DEFAULT NULL,
`is_deleted` TINYINT(1) UNSIGNED NULL DEFAULT '0',
PRIMARY KEY (`CarrContID`),
INDEX `CarrID` (`CarrID`),
INDEX `lname` (`lname`, `fname`, `minit`)
);

错误:

消息:array_key_exists((:第一个参数应该是 字符串或整数 文件名:雄辩/模型.php行号:2649

消息:缺少参数 2 Illuminate\Database\Eloquent\Model::setAttribute((, 调用/home/umpbiz/www/_dev/cargosystems/application/vendor/illuminate/database/Illuminate/Database/Eloquent/Model.php 在第 2439 行并定义文件名:雄辩/型号.php行号: 2430

严重性:警告消息:isset 或空中的偏移类型非法 文件名: 支持/str.php 行号: 356

然后错误只是级联,页面锁定。

其他模型/表格没有问题,有人知道我错过了什么吗?

CREATED_AT

不能false,请改用null

const CREATED_AT = null;

最新更新