51 lines
966 B
PHP
51 lines
966 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Models;
|
||
|
|
||
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
||
|
class Frame extends Model
|
||
|
{
|
||
|
/**
|
||
|
* Fetch a specific frame from the database
|
||
|
*
|
||
|
* @param int $page
|
||
|
* @param string $frame
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public function fetch(int $page,string $frame): \App\Classes\Frame
|
||
|
{
|
||
|
if ($page == '999' and $frame == 'a')
|
||
|
{
|
||
|
return new \App\Classes\Frame(\App\Classes\Frame::testFrame());
|
||
|
}
|
||
|
|
||
|
return new \App\Classes\Frame($this->where('frame_id',$page)->where('subframe_id',$frame)->firstOrFail());
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Return the frame cost
|
||
|
*
|
||
|
* @return int
|
||
|
*/
|
||
|
public function getCostAttribute()
|
||
|
{
|
||
|
// @todo NOT in DB
|
||
|
return rand(0,999);
|
||
|
}
|
||
|
|
||
|
public function hasFlag(string $flag)
|
||
|
{
|
||
|
// @todo When flags is in the DB update this.
|
||
|
return isset($this->flags) ? in_array($flag,$this->flags,FALSE) : FALSE;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Frame Types
|
||
|
*/
|
||
|
public function type()
|
||
|
{
|
||
|
// @todo in DB
|
||
|
return isset($this->frametype) ? $this->frametype : 'i';
|
||
|
}
|
||
|
}
|