我有一个使用API作为其数据源的应用程序。
我正在考虑尝试Laravel,但我无法找到任何参考,讨论如何处理不使用数据库的模型。
那么,有什么建议吗?
答案 0 :(得分:8)
尝试Jens Segers' laravel-model。
它提供了一个类似于eloquent的 base class
,可用于在Laravel 4中构建自定义模型。
Jenssegers\Model
这样的 Illuminate\Database\Eloquent\Model
实现了ArrayAccess,ArrayableInterface,JsonableInterface。
class User extends Model {
protected $hidden = array('password');
public function save()
{
return API::post('/items', $this->attributes);
}
public function setBirthdayAttribute($value)
{
$this->attributes['birthday'] = strtotime($value);
}
public function getBirthdayAttribute($value)
{
return date('Y-m-d', $value);
}
public function getAgeAttribute($value)
{
$date = DateTime::createFromFormat('U', $this->attributes['birthday']);
return $date->diff(new DateTime('now'))->y;
}
}
$item = new User(array('name' => 'john'));
$item->password = 'bar';
echo $item; // {"name":"john"}
答案 1 :(得分:6)
创建一个类(模型)并实现所需的功能。只需将“extends Eloquent”留出类签名即可。 Laravel可以在Models文件夹中自动加载类,因此您也不必担心这一点!在您的应用程序中正常使用它!