hello guys i m new to loopback so please, can anyone help me with this following this 1. i know how to render html page from loopback server for eg:-
<form method="post" action="register">
<input type="text" name="name">
<input type="text" name="lastname">
</form>
how to can request name or lastname in my model user
'use strict';
module.exports = function(User) {
// how i can receive requested of name or lastname for eg :-
console.log(req.name)
};
2.how i can insert this data to my postgres table(table name :-register) in column "name" 3.last one is that how to differentiate table name and model name using automigrate
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'}
});
}
for the insert something like :
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');
}
});
});
depending on your table and log credentials
Edit :
to use auto migrate, you must first :
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"
}
}
}
then you must call Model.automigrate()
or Model.autoupdate()
in your code like this :
ds.createModel(schema);
ds.autoupdate(schema) {
ds.discoverModelProperties('USER', function (err, props) {
console.log(props);
});
});
You will certainly have yo change some things but I hope you will achieve what you want ;)