Hi, What is the type for a foreign key to another...
# box-products
o
Hi, What is the type for a foreign key to another table using Coldbox? Schema:
Copy code
component {

	function up( schema, query ){
		schema.create( "characters", function(table) {
			table.increments( "id" );
			table.integer( "userid" ).references( "id" ).onTable( "users" ).onDelete( "cascade" );
			table.boolean( "deleted" ).default( 0 );
			table.boolean( "active" ).default( 0 );
			table.string( "name", 25 ).unique();
			table.integer( "xp" ).default( 0 );
			table.integer( "belt" ).references( "id" ).onTable( "belts" ).onDelete( "cascade" );
			table.integer( "wins" ).default( 0 );
			table.integer( "loses" ).default( 0 );
			table.integer( "draws" ).default( 0 );
		} );
	}

	function down( schema, query ){
		schema.drop( "characters" );
	}

}
Model:
Copy code
component extends="quick.models.BaseEntity" accessors="true" {

    property name="id" type="number";
    property name="userid" type="number";
    property name="deleted" type="boolean";
    property name="active" type="boolean";
    property name="name" type="string";
    property name="xp" type="number";
    property name="belt" type="number";
    property name="wins" type="number";
    property name="loses" type="number";
    property name="draws" type="number";

    public User function retrieveCharacterByName(required string name)
    {
        return newEntity().where("name", arguments.name).firstOrFail();
    }
    
    public User function retrieveCharacterById(required numeric id)
    {
        return newEntity().findOrFail(arguments.id);
    }
    
    public struct function getMemento()
    {
        return {"name"=variables.getName()};
    }
    
}
Is this correct?
b
@Ookma-Kyi The library you're asking about is QB, not ColdBox.
Have you referenced the docs to see what they say?
o
@bdw429s Actually I am asking if my model implementation is correct based on the schema.