mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 10:47:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php namespace FireflyIII\Models;
 | |
| 
 | |
| use Carbon\Carbon;
 | |
| use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
 | |
| use Illuminate\Database\Eloquent\Model;
 | |
| use Illuminate\Database\Eloquent\SoftDeletes;
 | |
| use Watson\Validating\ValidatingTrait;
 | |
| 
 | |
| /**
 | |
|  * Class Transaction
 | |
|  *
 | |
|  * @package FireflyIII\Models
 | |
|  */
 | |
| class Transaction extends Model
 | |
| {
 | |
| 
 | |
|     protected $fillable = ['account_id', 'transaction_journal_id', 'description', 'amount'];
 | |
|     protected $rules
 | |
|                         = [
 | |
|             'account_id'             => 'required|exists:accounts,id',
 | |
|             'transaction_journal_id' => 'required|exists:transaction_journals,id',
 | |
|             'description'            => 'between:1,255',
 | |
|             'amount'                 => 'required|numeric'
 | |
|         ];
 | |
|     use SoftDeletes, ValidatingTrait;
 | |
| 
 | |
|     /**
 | |
|      * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
 | |
|      */
 | |
|     public function account()
 | |
|     {
 | |
|         return $this->belongsTo('FireflyIII\Models\Account');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @param EloquentBuilder $query
 | |
|      * @param Carbon          $date
 | |
|      *
 | |
|      * @return mixed
 | |
|      */
 | |
|     public function scopeAfter(EloquentBuilder $query, Carbon $date)
 | |
|     {
 | |
|         return $query->where('transaction_journals.date', '>=', $date->format('Y-m-d 00:00:00'));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @param EloquentBuilder $query
 | |
|      * @param Carbon          $date
 | |
|      *
 | |
|      * @return mixed
 | |
|      */
 | |
|     public function scopeBefore(EloquentBuilder $query, Carbon $date)
 | |
|     {
 | |
|         return $query->where('transaction_journals.date', '<=', $date->format('Y-m-d 00:00:00'));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @return array
 | |
|      */
 | |
|     public function getDates()
 | |
|     {
 | |
|         return ['created_at', 'updated_at', 'deleted_at'];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
 | |
|      */
 | |
|     public function transactionJournal()
 | |
|     {
 | |
|         return $this->belongsTo('FireflyIII\Models\TransactionJournal');
 | |
|     }
 | |
| }
 |