关联模型一对多插入报错

浏览:419 发布日期:2018/12/19
5.0.0 - 严重 - 未处理
thinkphp5.1版本
设置关联模型一对多得关系后
模型配置:
public function detail(){
return $this->hasMany('LogTableDetail','table_id');
}

$模型=new 模型();
$模型->save(array('create_time'=>time()));
$模型->detail()->saveAll($数据);
会报关联的table_id为null,查看了源代码
发现HasMany.php文件
public function make($data = [])
{
if ($data instanceof Model) {
$data = $data->getData();
}
$data[$this->foreignKey] = $this->parent->{$this->localKey};
return new $this->model($data);
}
这里的 $this->parent是数组,而非对象
所以需要修改为
$data[$this->foreignKey] = $this->parent[$this->localKey];
评论(
后面还有条评论,点击查看>>