我试图通过Eloquent
插入两个相关的对象,并在其中一个表上得到Integrity constraint violation error
。这是我正在尝试的:
关系的表示:
class DataParticipant extends Model
{
public function data_config()
{
return $this->hasOne('App\Models\DataConfig');
}
}
class DataConfig extends Model
{
public function data_participant()
{
return $this->belongsTo('App\Models\DataParticipant');
}
}
然后,我正在尝试以下方法:
$dataParticipant = new DataParticipant();
$dataParticipant->ip = // ip
$dataParticipant->code = // code
$dataParticipant->study_name = // study
// Prepare the config child.
$dataConfig = new DataConfig();
$dataConfig->config = // config via json_encode
// Store the child associated to the parent.
$dataParticipant->data_config()->save($dataConfig);
错误位于data_participant_id
列,属于DataConfig
模型。我的猜测是,两者之间没有id
可以链接。我想问你:
DataParticipant
然后从数据库中检索它然后将DataConfig
存储在结果id
上的情况下完成此操作?答案 0 :(得分:0)
首先保存第一个模型
$dataParticipant->save ();
然后保存第二个模型
$dataParticipant->data_config()->save($dataConfig);
这根本不会从数据库中检索数据,$dataParticipant
id会自动设置最后一个插入ID