Clean up models, fixed a bug.

This commit is contained in:
James Cole
2014-12-01 06:09:27 +01:00
parent d7b0106e7d
commit 4720519aef
9 changed files with 61 additions and 35 deletions

View File

@@ -38,10 +38,10 @@ class CreatePiggybanksTable extends Migration
$table->date('startdate')->nullable(); $table->date('startdate')->nullable();
$table->date('targetdate')->nullable(); $table->date('targetdate')->nullable();
$table->boolean('repeats'); $table->boolean('repeats');
$table->enum('rep_length', ['day', 'week', 'month', 'year'])->nullable(); $table->enum('rep_length', ['day', 'week','quarter', 'month', 'year'])->nullable();
$table->smallInteger('rep_every')->unsigned(); $table->smallInteger('rep_every')->unsigned();
$table->smallInteger('rep_times')->unsigned()->nullable(); $table->smallInteger('rep_times')->unsigned()->nullable();
$table->enum('reminder', ['day', 'week', 'month', 'year'])->nullable(); $table->enum('reminder', ['day', 'week','quarter', 'month', 'year'])->nullable();
$table->smallInteger('reminder_skip')->unsigned(); $table->smallInteger('reminder_skip')->unsigned();
$table->boolean('remind_me'); $table->boolean('remind_me');
$table->integer('order')->unsigned(); $table->integer('order')->unsigned();

View File

@@ -104,7 +104,7 @@ class Reminders
} }
$end = \DateKit::endOfPeriod(clone $start, $piggybank->reminder); $end = \DateKit::endOfPeriod(clone $start, $piggybank->reminder);
// should have a reminder for this period: // should have a reminder for this period:
/** @var \Collection $reminders */ /** @var Collection $reminders */
$reminders = $piggybank->reminders()->dateIs($start, $end)->get(); $reminders = $piggybank->reminders()->dateIs($start, $end)->get();
if ($reminders->count() == 0) { if ($reminders->count() == 0) {
// create new! // create new!
@@ -113,7 +113,8 @@ class Reminders
$reminder->enddate = $end; $reminder->enddate = $end;
$reminder->active = 1; $reminder->active = 1;
$reminder->user()->associate($repository->getUser()); $reminder->user()->associate($repository->getUser());
$reminder->remindersable()->associate($piggybank); $reminder->remindersable_id= $piggybank->id;
$reminder->remindersable_type = 'Piggybank';
$reminder->save(); $reminder->save();
} }
} }

View File

@@ -17,14 +17,14 @@ use LaravelBook\Ardent\Builder;
* @property-read \Illuminate\Database\Eloquent\Collection|\Transaction[] $transactions * @property-read \Illuminate\Database\Eloquent\Collection|\Transaction[] $transactions
* @property-read \Illuminate\Database\Eloquent\Collection|\Piggybank[] $piggybanks * @property-read \Illuminate\Database\Eloquent\Collection|\Piggybank[] $piggybanks
* @property-read \User $user * @property-read \User $user
* @method static \Illuminate\Database\Query\Builder|\Account whereId($value) * @method static \Illuminate\Database\Query\Builder|\Account whereId($value)
* @method static \Illuminate\Database\Query\Builder|\Account whereCreatedAt($value) * @method static \Illuminate\Database\Query\Builder|\Account whereCreatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\Account whereUpdatedAt($value) * @method static \Illuminate\Database\Query\Builder|\Account whereUpdatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\Account whereUserId($value) * @method static \Illuminate\Database\Query\Builder|\Account whereUserId($value)
* @method static \Illuminate\Database\Query\Builder|\Account whereAccountTypeId($value) * @method static \Illuminate\Database\Query\Builder|\Account whereAccountTypeId($value)
* @method static \Illuminate\Database\Query\Builder|\Account whereName($value) * @method static \Illuminate\Database\Query\Builder|\Account whereName($value)
* @method static \Illuminate\Database\Query\Builder|\Account whereActive($value) * @method static \Illuminate\Database\Query\Builder|\Account whereActive($value)
* @method static \Account accountTypeIn($types) * @method static \Account accountTypeIn($types)
*/ */
class Account extends Ardent class Account extends Ardent
{ {

View File

@@ -21,6 +21,8 @@ use LaravelBook\Ardent\Builder;
* @method static \Illuminate\Database\Query\Builder|\PiggybankRepetition whereStartdate($value) * @method static \Illuminate\Database\Query\Builder|\PiggybankRepetition whereStartdate($value)
* @method static \Illuminate\Database\Query\Builder|\PiggybankRepetition whereTargetdate($value) * @method static \Illuminate\Database\Query\Builder|\PiggybankRepetition whereTargetdate($value)
* @method static \Illuminate\Database\Query\Builder|\PiggybankRepetition whereCurrentamount($value) * @method static \Illuminate\Database\Query\Builder|\PiggybankRepetition whereCurrentamount($value)
* @method static \PiggybankRepetition starts($date)
* @method static \PiggybankRepetition targets($date)
*/ */
class PiggybankRepetition extends Ardent class PiggybankRepetition extends Ardent
{ {

View File

@@ -3,6 +3,7 @@
use Carbon\Carbon; use Carbon\Carbon;
use LaravelBook\Ardent\Ardent; use LaravelBook\Ardent\Ardent;
/** /**
* Reminder * Reminder
* *
@@ -14,25 +15,22 @@ use LaravelBook\Ardent\Ardent;
* @property \Carbon\Carbon $enddate * @property \Carbon\Carbon $enddate
* @property boolean $active * @property boolean $active
* @property boolean $notnow * @property boolean $notnow
* @property integer $remembersable_id
* @property string $remembersable_type
* @property-read \Piggybank $remindersable
* @property-read \User $user
* @property mixed $data
* @method static \Illuminate\Database\Query\Builder|\Reminder whereId($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereCreatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereUpdatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereUserId($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereStartdate($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereEnddate($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereActive($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereRemembersableId($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereRemembersableType($value)
* @method static \Reminder dateIs($start, $end)
* @property integer $remindersable_id * @property integer $remindersable_id
* @property string $remindersable_type * @property string $remindersable_type
* @method static \Illuminate\Database\Query\Builder|\Reminder whereRemindersableId($value) * @property-read \ $remindersable
* @method static \Illuminate\Database\Query\Builder|\Reminder whereRemindersableType($value) * @property-read \User $user
* @property mixed $data
* @method static \Illuminate\Database\Query\Builder|\Reminder whereId($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereCreatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereUpdatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereUserId($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereStartdate($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereEnddate($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereActive($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereNotnow($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereRemindersableId($value)
* @method static \Illuminate\Database\Query\Builder|\Reminder whereRemindersableType($value)
* @method static \Reminder dateIs($start, $end)
*/ */
class Reminder extends Ardent class Reminder extends Ardent
{ {

View File

@@ -1,6 +1,22 @@
<?php <?php
use LaravelBook\Ardent\Ardent; use LaravelBook\Ardent\Ardent;
/**
* TransactionGroup
*
* @property integer $id
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
* @property integer $user_id
* @property string $relation
* @property-read \Illuminate\Database\Eloquent\Collection|\TransactionJournal[] $transactionjournals
* @property-read \User $user
* @method static \Illuminate\Database\Query\Builder|\TransactionGroup whereId($value)
* @method static \Illuminate\Database\Query\Builder|\TransactionGroup whereCreatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\TransactionGroup whereUpdatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\TransactionGroup whereUserId($value)
* @method static \Illuminate\Database\Query\Builder|\TransactionGroup whereRelation($value)
*/
class TransactionGroup extends Ardent class TransactionGroup extends Ardent
{ {

View File

@@ -60,6 +60,11 @@ use LaravelBook\Ardent\Builder;
* 'Budget[] $budgets * 'Budget[] $budgets
* @property-read \Illuminate\Database\Eloquent\Collection|\ * @property-read \Illuminate\Database\Eloquent\Collection|\
* 'Category[] $categories * 'Category[] $categories
* @property-read \Illuminate\Database\Eloquent\Collection|\
* 'Budget[] $budgets
* @property-read \Illuminate\Database\Eloquent\Collection|\
* 'Category[] $categories
* @property-read \Illuminate\Database\Eloquent\Collection|\TransactionGroup[] $transactiongroups
*/ */
class TransactionJournal extends Ardent class TransactionJournal extends Ardent
{ {

View File

@@ -2,6 +2,10 @@
use Carbon\Carbon; use Carbon\Carbon;
use LaravelBook\Ardent\Ardent; use LaravelBook\Ardent\Ardent;
/**
* TransactionRelation
*
*/
class TransactionRelation extends Ardent { class TransactionRelation extends Ardent {
} }

View File

@@ -32,7 +32,7 @@ use LaravelBook\Ardent\Ardent;
* @method static \Illuminate\Database\Query\Builder|\User whereReset($value) * @method static \Illuminate\Database\Query\Builder|\User whereReset($value)
* @method static \Illuminate\Database\Query\Builder|\User whereRememberToken($value) * @method static \Illuminate\Database\Query\Builder|\User whereRememberToken($value)
* @method static \Illuminate\Database\Query\Builder|\User whereMigrated($value) * @method static \Illuminate\Database\Query\Builder|\User whereMigrated($value)
* @property-read \Illuminate\Database\Eloquent\Collection|\Reminder[] $reminders * @property-read \Illuminate\Database\Eloquent\Collection|\Reminder[] $reminders
*/ */
class User extends Ardent implements UserInterface, RemindableInterface class User extends Ardent implements UserInterface, RemindableInterface
{ {
@@ -97,10 +97,6 @@ class User extends Ardent implements UserInterface, RemindableInterface
{ {
return $this->hasManyThrough('Piggybank', 'Account'); return $this->hasManyThrough('Piggybank', 'Account');
} }
public function transactions()
{
return $this->hasManyThrough('TransactionJournal', 'Transaction');
}
/** /**
* @return \Illuminate\Database\Eloquent\Relations\HasMany * @return \Illuminate\Database\Eloquent\Relations\HasMany
@@ -126,7 +122,6 @@ class User extends Ardent implements UserInterface, RemindableInterface
return $this->hasMany('Reminder'); return $this->hasMany('Reminder');
} }
/** /**
* @param $value * @param $value
*/ */
@@ -143,4 +138,9 @@ class User extends Ardent implements UserInterface, RemindableInterface
return $this->hasMany('TransactionJournal'); return $this->hasMany('TransactionJournal');
} }
public function transactions()
{
return $this->hasManyThrough('TransactionJournal', 'Transaction');
}
} }