Php Laravel/Eloquent-外键始终为空
我必须创建Model、WptModel和CacheModel类型的类 } 对于这两种模型,我都使用firstOrNew来构建它们Php Laravel/Eloquent-外键始终为空,php,laravel,octobercms,Php,Laravel,Octobercms,我必须创建Model、WptModel和CacheModel类型的类 } 对于这两种模型,我都使用firstOrNew来构建它们 $wptmodel = WptModel::firstOrNew($values); $cachemodel = CacheModel::firstOrNew($values); 这很有魅力。但当我尝试在$wptmodel中存储$cachemodel并像这样保存$gpxmodel时: $wptmodel->CacheModel = $cachemodel; $
$wptmodel = WptModel::firstOrNew($values);
$cachemodel = CacheModel::firstOrNew($values);
这很有魅力。但当我尝试在$wptmodel中存储$cachemodel并像这样保存$gpxmodel时:
$wptmodel->CacheModel = $cachemodel;
$gpxmodel->WptModel = $wptmodel;
$gpxmodel->save();
出现以下错误消息:
"SQLSTATE[23000]: Integrity constraint violation: 1048 Column
'wpt_model_id' cannot be null (SQL: update
cache` set `wpt_model_id` = where cache`.`wpt_model_id`
= 978a1287-3cad-4580-9c95-8ee2ed13b836 and
cache`.`wpt_model_id` is not null)" on line
662 of laravel/framework/src/Illuminate/Database
/Connection.php
另一件我不明白的事情是,这个过程是第一次工作的(这意味着我能够在表缓存中插入一行)。当我第二次执行这些语句时,就会出现错误(更新将不起作用)。如果我看一下相应的表格,就会发现所有的东西都在那里。所有列都有其值。没有空值。所以我不明白为什么拉威尔说_wpt_model_id_为空
提前感谢你的帮助
fw.将
wpt_model_id
的默认值从数据库中的“无”设置为null。我强烈建议您阅读以下内容:
"SQLSTATE[23000]: Integrity constraint violation: 1048 Column
'wpt_model_id' cannot be null (SQL: update
cache` set `wpt_model_id` = where cache`.`wpt_model_id`
= 978a1287-3cad-4580-9c95-8ee2ed13b836 and
cache`.`wpt_model_id` is not null)" on line
662 of laravel/framework/src/Illuminate/Database
/Connection.php