This should complete the account handler.

This commit is contained in:
James Cole
2015-02-14 14:25:29 +01:00
parent 7785ec0222
commit 1d78f98ec8
15 changed files with 494 additions and 9 deletions

View File

@@ -24,6 +24,23 @@ class Account extends Model
protected $fillable = ['user_id', 'account_type_id', 'name', 'active'];
/**
* @param $fieldName
*
* @return string|null
*/
public function getMeta($fieldName)
{
foreach ($this->accountMeta as $meta) {
if ($meta->name == $fieldName) {
return $meta->data;
}
}
return null;
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/

View File

@@ -1,6 +1,7 @@
<?php namespace FireflyIII\Models;
use Illuminate\Database\Eloquent\Model;
use Watson\Validating\ValidatingTrait;
/**
* Class AccountMeta
@@ -10,6 +11,17 @@ use Illuminate\Database\Eloquent\Model;
class AccountMeta extends Model
{
use ValidatingTrait;
protected $rules
= [
'account_id' => 'required|exists:accounts,id',
'name' => 'required|between:1,100',
'data' => 'required'
];
protected $table = 'account_meta';
protected $fillable = ['account_id', 'name', 'data'];
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/

View File

@@ -11,6 +11,7 @@ use Watson\Validating\ValidatingTrait;
*/
class Transaction extends Model
{
protected $fillable = ['account_id', 'transaction_journal_id', 'description', 'amount'];
protected $rules
= [

View File

@@ -188,4 +188,17 @@ class TransactionJournal extends Model
return $this->belongsTo('FireflyIII\User');
}
/**
* @param EloquentBuilder $query
* @param Account $account
*/
public function scopeAccountIs(EloquentBuilder $query, Account $account)
{
if (!isset($this->joinedTransactions)) {
$query->leftJoin('transactions', 'transactions.transaction_journal_id', '=', 'transaction_journals.id');
$this->joinedTransactions = true;
}
$query->where('transactions.account_id', $account->id);
}
}