[BookshelfJS][bookshelfjs] を ORM に使用していますが、though
テーブルのデータにアクセスする方法を知りたいです。
私は 3 つのモデルを持っており、Recipe
が2 つを結合しています。Ingredient
RecipeIngredient
var Recipe = BaseModel.extend({
tableName: 'recipe',
defaults: { name: null },
ingredients: function () {
return this
.belongsToMany('Ingredient')
.through('RecipeIngredient')
.withPivot(['measurement']);
}
}));
var Ingredient = BaseModel.extend({
tableName: 'ingredients',
defaults: { name: null },
recipes: function () {
return this
.belongsToMany('Recipe')
.through('RecipeIngredient');
}
}));
var RecipeIngredient = BaseModel.extend({
tableName: 'recipe_ingredients',
defaults: { measurement: null },
recipe: function () {
return this.belongsToMany('Recipe');
},
ingredient: function () {
return this.belongsToMany('Ingredient');
}
}));
Recipe
次に、 をすべて取得しようとしましたが、 にアクセスするIngredients
方法がわかりません。measurement
RecipeIngredient
Recipe
.forge({
id: 1
})
.fetch({
withRelated: ['ingredients']
})
.then(function (model) {
console.log(model.toJSON());
})
.catch(function (err) {
console.error(err);
});
戻る:
{
"id": 1,
"name": "Delicious Recipe",
"ingredients": [
{
"id": 1,
"name": "Tasty foodstuff",
"_pivot_id": 1,
"_pivot_recipe_id": 1,
"_pivot_ingredient_id": 1
}
]
}
値なしmeasurement
。
メソッドが値を取得したと思っていました.withPivot(['measurement'])
が、追加のデータは返されません。
何かを見逃したり、これがどのように機能するかを誤解したりしましたか?