tentail / simple-model
A simple of Eloquent Model.
0.1.0
2019-06-02 08:12 UTC
Requires (Dev)
- orchestra/testbench: ^3.8
This package is not auto-updated.
Last update: 2025-07-24 09:47:51 UTC
README
Introduction
一個簡單版本的Eloquent Model, 沒有資料庫相關設定的Model。所有 function, attributes 都盡量保留原有 Laravel/framework 的設計。
有任何相關的 Feature 和 Bug 都歡迎提出。
Installation
Composer
composer require tentail/simple-model
Functions
SimpleModel不連接資料庫,所以拔除以下功能:
- Illuminate\Database\Eloquent\Concerns\HasEvents
- Illuminate\Database\Eloquent\Concerns\HasGlobalScopes
- Illuminate\Database\Eloquent\Concerns\HasRelationships
- Illuminate\Database\Eloquent\Concerns\HasTimestamps
- protected $connection;
- protected $table;
- protected $primaryKey = 'id';
- protected $keyType = 'int';
- public $incrementing = true;
- ...等等,太多了這邊不一一列舉
保留的主要功能:
- Illuminate\Database\Eloquent\Concerns\GuardsAttributes
- [x] 基本的 $fillable 和 $guarded 的功能。這個 trait 只作用於 SimpleModel 的
fill()
時。
- [x] 基本的 $fillable 和 $guarded 的功能。這個 trait 只作用於 SimpleModel 的
- Illuminate\Database\Eloquent\Concerns\HasAttributes
- [x] protected $attributes = [];
- [x] protected $original = [];
- [x] protected $dateFormat;
- [x] protected $casts = [];
- [x] Accessors & Mutators
- Illuminate\Database\Eloquent\Concerns\HidesAttributes
- [x] protected $hidden = [];
- [x] protected $visible = [];
- ArrayAccess
- Arrayable
- Jsonable
Usage
建立一個 SimpleModel
使用 make:simple-model
Artisan 指令來快速建立 SimpleModel:
php artisan make:simple-model News
<?php
namespace App;
use SimpleModel\SimpleModel;
class News extends SimpleModel
{
/**
* The attributes that aren't mass assignable.
*
* @var array
*/
protected $guarded = [];
}
建立一個 SimpleModel 物件
$news = new News($attributes);
$news = new News;
$news->fill($attributes);