Implement the other functionality for awards #154

This commit is contained in:
Nabeel Shahzad
2018-03-17 00:18:03 -05:00
parent 45a22e26be
commit 31b9195a6e
5 changed files with 76 additions and 29 deletions

View File

@@ -3,8 +3,10 @@
namespace App\Models;
/**
* Class Award
*
* The Award model
* @property mixed id
* @property mixed ref_class
* @property mixed|null ref_class_id
* @package Award\Models
*/
class Award extends BaseModel
@@ -14,25 +16,32 @@ class Award extends BaseModel
public $fillable = [
'title',
'description',
'image',
];
protected $casts = [
'image_url',
'ref_class',
'ref_class_id',
];
public static $rules = [
'title' => 'required',
'title' => 'required',
'description' => 'nullable',
'image_url' => 'nullable',
];
/**
* any foreign keys
* Get the referring object
*/
/*
public function subfleets() {
return $this->belongsToMany(Subfleet::class, 'subfleet_fare')
->withPivot('price', 'cost', 'capacity');
public function getReference()
{
if (!$this->ref_class) {
return null;
}
*/
try {
return new $this->ref_class;
# return $klass;
# return $klass->find($this->ref_class_id);
} catch (\Exception $e) {
return null;
}
}
}

View File

@@ -147,6 +147,11 @@ class User extends Authenticatable
return $this->belongsTo(Airline::class, 'airline_id');
}
public function awards()
{
return $this->hasMany(UserAward::class, 'user_id');
}
public function home_airport()
{
return $this->belongsTo(Airport::class, 'home_airport_id');

View File

@@ -14,4 +14,20 @@ class UserAward extends BaseModel
'user_id',
'award_id'
];
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function award()
{
return $this->belongsTo(Award::class, 'award_id');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo(User::class, 'user_id');
}
}