NodeJS の nodeorm2 (sqlite) を使用して、このようないくつかのモデルを「作成」して、私の Web サイトのデータベースにサンプル データを入力します。
req.models.myModel.create({
'title' : 'Model title here',
'content' : 'content here',
'username' : 'username here'
}, callback_function);
req.models.myModel.create({
'title' : 'Model 2 title here',
'content' : 'content 2 here',
'username' : 'other username'
}, callback_function);
これらの操作は非同期です。それらが終了したら、「作成」したばかりのモデルの子モデルも追加したいと思います。
myModel と subModels の間の関係は、次のように定義されます。
models.subModel.hasOne("parent", models.myModel, {
"reverse" : "child"
});
サブモデルも追加できるように、作成したモデルの ID を取得するにはどうすればよいですか? 「検索」を使用して、新しく作成されたモデルの DB を検索できます。ただし、指定した順序でモデルが作成されるとは限りません。
php/mysql では、これを実現するために mysql_insert_id() を使用します。SQL で同等のものは last_insert_id() です。
編集: コールバック関数で、id にアクセスできます。
function callback_function(err, item){
console.log(item.id);
}
ただし、この ID は両方のコールバック関数で同じです。わかりません。異なる名前の属性を持つ別のコールバック関数を作成しても、id は同じです。