【发布时间】:2017-11-03 00:16:24
【问题描述】:
我考虑创建动态模型或更新模型。
假设我有一个这样的数组:
$data = array(
'first_name' => 'Max',
'last_name' => 'Power',
'invoiceAddress.city' => 'Berlin',
'invoiceAddress.country_code' => 'DE',
'user.status_code' => 'invited'
);
现在我想迭代该数组,并将数据写入模型,其中点表示法告诉我必须写入关系。
普通代码:
$model->first_name = $data['first_name'];
$model->last_name = $data['last_name'];
$model->invoiceAddress->city = $data['invoiceAddress.city'];
等等。
我更喜欢动态的方式:
foreach($data as $key => $value){
$properties = explode('.',$key);
//Now the difficult part
$model[$properties[0]][$properties[1]] = $value;
//Would work for invoiceAddress.city,
//but not for first_name
}
问题是,我不知道爆炸会创建多少属性。 有没有办法以动态的方式解决此类问题?
【问题讨论】:
标签: php arrays laravel eloquent