2017-04-21 9 views
0

model.jsonファイル中にmodel.jsファイルでリレーションを作成できません。正常に動作しています。私は入札テーブル内の任意の更新の予約テーブルのフィールドを更新したいが、私の関係はmodel.jsファイルでは動作していません。ループバックでモデルJSファイル内の関連するモデルで操作を実行できません

Bidding.belongsTo(Booking、{foreignKey: 'bookingId'}); ^ にReferenceError:予約は、あなたがあなたのテーブルに関連する上での操作を行うことができる方法に従うことで

{ 
 
    "error": { 
 
    "statusCode": 500, 
 
    "name": "TypeError", 
 
    "message": "Bidding.booking is not a function", 
 
    "stack": "TypeError: Bidding.booking is not a function\n.." 
 
    } 
 
}

'use strict'; 
 

 

 
//var loopback = require('loopback'); 
 
//var boot = require('loopback-boot'); 
 

 
//var app = module.exports = loopback(); 
 

 
module.exports = function(Bidding) { 
 

 
\t // var app = require('../../server/server'); 
 
    // var Booking = app.models.Booking; 
 
    //Bidding.belongsTo(Myuser, {foreignKey: 'driver_id'}); 
 

 
    Bidding.belongsTo(Booking, {foreignKey: 'bookingId'}); 
 

 
    Bidding.observe('before save', function beforeSave(ctx, next) { 
 
       if (ctx.instance) { 
 

 
        //on create 
 
        ctx.instance.created = new Date(); 
 
        ctx.instance.modified = new Date(); 
 

 
       } else { 
 
        // on edit 
 
       // ctx.instance.lastUpdated = new Date(); 
 
       console.log('updatesdd'); 
 
       //Bidding.Booking.upsertWithWhere({id: ctx.instance.id},{ 'username': username}, function(err, results) {}); 
 
       Bidding.booking(function(err, booking) { 
 
        
 
         console.log(ctx.booking);  
 
        }); 
 
       } 
 

 
       
 
       next(); 
 
      }); 
 

 
     Bidding.observe('loaded', function beforeaccess(ctx, next) { 
 

 
      console.log(ctx.data); 
 

 

 
       
 
       next(); 
 
      }); 
 

 
};

答えて

0

が定義されていません。私はinbuilt user.jsファイルにアクセスしてAccessTokenテーブルとの関係を確認し、問題の解決方法を見つけます。あなたは、関連するテーブルをロード

クエリ -

ここで「予約」モデルはbidding.json VAR予約= ctx.Model.relations.booking.modelToで定義する関係に属しています。

StrongLoop API Explorerを介して更新クエリコール:

http://0.0.0.0/api/Biddings/update?where=%7B%22id%22%3A%2211%22%2C%22bookingId%22%3A6%7D

:{ "ID": "11"、 "bookingId":6} データ:{ "bid_status": "受け入れ"}

Bidding.observe('before save', function beforeSave(ctx, next) { 
 
       
 

 
       if (ctx.instance) { 
 

 
        //on create 
 
        ctx.instance.created = new Date(); 
 
        ctx.instance.modified = new Date(); 
 

 
       } else { 
 

 
         //on update 
 
         if(ctx.data.bid_status == "Accept"); 
 
         { 
 

 
         if (ctx.where && ctx.where.bookingId && ctx.where.id) { 
 

 
          var bookingId = ctx.where.bookingId; 
 
          var booking = ctx.Model.relations.booking.modelTo; 
 
          booking.upsertWithWhere({id: bookingId},{ 'booking_status': 'Confirmed'}, function(err, results) {}); 
 
         
 
         } 
 
         
 
         } 
 
       
 
       } 
 

 
       
 
       next(); 
 
      });

関連する問題