'numeric|required|exists:accounts,id', 'transaction_journal_id' => 'numeric|required|exists:transaction_journals,id', 'description' => 'between:1,255', 'amount' => 'required|between:-65536,65536|not_in:0,0.00', ]; public static $factory = [ 'account_id' => 'factory|Account', 'transaction_journal_id' => 'factory|TransactionJournal', 'description' => 'string', 'amount' => 'integer:5' ]; public function account() { return $this->belongsTo('Account'); } public function transactionJournal() { return $this->belongsTo('TransactionJournal'); } public function components() { return $this->belongsToMany('Component'); } public function budgets() { return $this->belongsToMany('Budget','component_transaction','transaction_id','component_id'); } public function categories() { return $this->belongsToMany('Category','component_transaction','transaction_id','component_id'); } }