首页 文章

在环回中迷茫

提问于
浏览
1

你好伙计们,我是新来环回所以请,任何人都可以帮助我这一点1.我知道如何从loopback服务器渲染html页面例如: -

<form method="post" action="register">
 <input type="text" name="name">
 <input type="text" name="lastname">
</form>

如何在我的模型用户中请求名称或姓氏

'use strict';
module.exports = function(User) {

 // how i can receive requested of name or lastname for eg :- 
 console.log(req.name)
};

2.如何我可以将这些数据插入到我的postgres表(表名:--register)的“name”列中.3 . 一个是如何使用automigrate来区分表名和模型名

1 回答

  • 1
    module.exports = function(User) {
        User.show = function(name,lastName) {
          console.log(name);
          console.log(lastName);
        }
    
        User.remoteMethod('show', {
              accepts: [
                      { arg: 'name', type: 'string' },
                      { arg: 'lastName', type: 'string' }
                  ],
              returns: {arg: 'result', type: 'string'}
        });
    }
    

    对于插入类似的东西:

    var yourVar = name;
    pg.connect(dbUrl, function(err, client, done) {
        client.query(
            'INSERT into yourTable(name) VALUES ($1)', 
            ['title'], 
            function(err, result) {
                if (err) {
                    console.log(err);
                } else {
                    console.log('row inserted');
                }
            });        
    });
    

    取决于您的表和日志凭据

    Edit :

    要使用自动迁移,您必须先:

    create a data source in /server/datasources.json :

    "mydb": {
        "name": "mydb",
        "connector": "postgresql"
    }
    

    Connect to UNIX domain socket in /var/run/postgresql/.s.PGSQL.5432 :

    {
        "postgres": {
            "host": "/var/run/postgresql/",
            "port": "5432",
            "database": "dbname",
            "username": "dbuser",
            "password": "dbpassword",
            "name": "postgres",
            "debug": true,
            "connector": "postgresql"
        }
    }
    

    define your models in /common/models/model.json, it shoud look like this :

    var schema={
        "name": "User",
        "options": {
            "idInjection": true,
            "postgresql": {
                "schema": "yourShema",
                "table": "USER"
            }
         },
         "properties": {
         "id": {
             "type": "Number",
             "required": true,
             "length": 64,
             "precision": null,
             "scale": null,
             "postgresql": {
                 "columnName": "id",
                 "dataType": "integer",
                 "dataLength": 64,
                 "dataPrecision": null,
                 "dataScale": null,
                 "nullable": "NO"
             }
         },
         "name": {
             "type": "String",
             "required": false,
             "length": 40,
             "precision": null,
             "scale": null,
             "postgresql": {
                 "columnName": "name",
                 "dataType": "character varying",
                 "dataLength": 40,
                 "dataPrecision": null,
                 "dataScale": null,
                 "nullable": "YES"
             }
         },
         "lastName": {
             "type": "String",
             "required": false,
             "length": 40,
             "precision": null,
             "scale": null,
             "postgresql": {
                 "columnName": "lastName",
                 "dataType": "character varying",
                 "dataLength": 40,
                 "dataPrecision": null,
                 "dataScale": null,
                 "nullable": "YES"
          }
        }
    }
    

    那么你必须在你的代码中调用 Model.automigrate()Model.autoupdate() ,如下所示:

    ds.createModel(schema);
    ds.autoupdate(schema) {
        ds.discoverModelProperties('USER', function (err, props) {
            console.log(props);
        });
    });
    

    你肯定会改变一些事情,但我希望你能实现你想要的;)

相关问题