diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index f00bf0ea58..4972b7eda3 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -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 diff --git a/app/Models/TransactionJournalMeta.php b/app/Models/TransactionJournalMeta.php new file mode 100644 index 0000000000..a9bbef4300 --- /dev/null +++ b/app/Models/TransactionJournalMeta.php @@ -0,0 +1,36 @@ +belongsTo('FireflyIII\Models\TransactionJournal'); + } +}