如何从我从MongoDB中提取的数据更新MySQL数据库中的表?
我有一个从MongoDB中提取数据的函数
$recordid = '9depnuDz1XHl';
$mongodata = MongoDataPull::find($recordid);
当我运行以下内容时:
return [$mongodata];
这是我得到的回应:
[
{
"_id": "9depnuDz1XHl",
"name": "Elliot",
"surname": "Alderson",
"email": "elliot@fsociety.com",
"cell": "01239871234",
"client": false,
"payment": false,
"user_id": "EVhTgHsh1H0A",
"theme": "default"
}
]
MySQL中的列名与响应中的列名略有不同。
表中的MySQL列:
fname
lname
email
phone
client
payment
userid
theme
使用Eloquent,如何在映射到正确的列时使用MongoDB中的数据编写查询来更新MySQL?
答案 0 :(得分:0)
如果您使用fill()
,请确保模型上有$guarded
或$fillable
。此外,find()
仅在主ID为时才有效。否则,请使用where('primary_key', "=", $mongodata->_id)->first();
$MysqlModel = Model::find($mongodata->_id);
$MysqlModel->fill(['fname' => $mongodata->name, etc...]);
$MysqlModel->save();