2015-12-29 5 views
5

es6クラスを使って本棚モデルを書く方法はありますか?私は本棚のソース自体がes6で書かれているのを見ることができます。しかし、私が遭遇したすべての例とソースはes5で書かれています。私はそれが可能であることを述べている丁寧なgithub issueを見ましたが、クラスにモデルを書くことに関するほとんどのエラーについてはほとんど議論していません。 es6クラスでブックシェルフモデルを作成して使用するにはどうすればよいですか?es6で本棚モデルを書く

+1

、私が発見し、独占的に使用されているので、持っている[objection.js](https://github.com/Vincit/objection.js/)もオフに基づいています[knex](http://knexjs.org)の – Sayem

答えて

14

はい、できます。質問がまだ答えられることですが

// database.js 
import config from '../../knexfile'; 
import knex from 'knex'; 
import bookshelf from 'bookshelf'; 

const Bookshelf = bookshelf(knex(config[process.env.NODE_ENV || 'development'])); 

Bookshelf.plugin('registry'); // Resolve circular dependencies with relations 
Bookshelf.plugin('visibility'); 

export default Bookshelf; 


// Administers.js 
import Bookshelf from '../database' 
import { createValidatorPromise as createValidator, required, email as isEmail } from '../../utils/validation'; 
import { User, Organization } from '../'; 
import { BasicAdministersView, DetailedAdministersView } from '../../views/index'; 

class Administers extends Bookshelf.Model { 

    get tableName() { return 'administers'; } 

    get hasTimestamps() { return true; } 

    view(name){ 
    return new ({ 
     basic: BasicAdministersView, 
     detailed: DetailedAdministersView 
    }[name])(this); 
    } 

    user() { 
    console.log(User); 
    return this.belongsTo('User', 'user_id'); 
    } 

    organization() { 
    return this.belongsTo('Organization', 'organization_id'); 
    } 
} 

export default Bookshelf.model('Administers', Administers); 
関連する問題