New model for future implementation of #164

This commit is contained in:
James Cole 2016-02-10 16:26:42 +01:00
parent 3e502db772
commit 49292bbb2d
2 changed files with 63 additions and 0 deletions

View File

@ -56,6 +56,7 @@ use Watson\Validating\ValidatingTrait;
* @property string $type
* @property \Carbon\Carbon $interest_date
* @property \Carbon\Carbon $book_date
* @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\TransactionJournalMeta[] $transactionjournalmeta
*/
class TransactionJournal extends Model
{
@ -85,6 +86,24 @@ class TransactionJournal extends Model
/** @var bool */
private $joinedTransactionTypes;
/**
*
* @param string $fieldName
*
* @return string
*/
public function getMeta($fieldName): string
{
foreach ($this->transactionjournalmeta as $meta) {
if ($meta->name == $fieldName) {
return $meta->data;
}
}
return '';
}
/**
* @param $value
*
@ -404,6 +423,14 @@ class TransactionJournal extends Model
return $this->belongsToMany('FireflyIII\Models\TransactionGroup');
}
/**
* @return HasMany
*/
public function transactionjournalmeta(): HasMany
{
return $this->hasMany('FireflyIII\Models\TransactionJournalMeta');
}
/**
* @codeCoverageIgnore
* @return \Illuminate\Database\Eloquent\Relations\HasMany

View File

@ -0,0 +1,36 @@
<?php
/**
* TransactionJournalMeta.php
* Copyright (C) 2016 Sander Dorigo
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
namespace FireflyIII\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* Class TransactionJournalMeta
*
* @package FireflyIII\Models
* @property-read \FireflyIII\Models\TransactionJournal $transactionjournal
*/
class TransactionJournalMeta extends Model
{
protected $dates = ['created_at', 'updated_at'];
protected $fillable = ['transaction_journal_id', 'name', 'data'];
protected $table = 'journal_meta';
/**
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function transactionjournal(): BelongsTo
{
return $this->belongsTo('FireflyIII\Models\TransactionJournal');
}
}