tentail/simple-model

简单的 Eloquent 模型。

0.1.0 2019-06-02 08:12 UTC

This package is not auto-updated.

Last update: 2024-10-03 05:45:54 UTC


README

介绍

一个简单的 Eloquent 模型版本,没有数据库配置的模型。所有函数和属性都尽可能地保留原有 Laravel/framework 的设计。

欢迎提出任何相关的功能和 Bug。

安装

Composer

composer require tentail/simple-model

函数

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() 时起作用。
  • Illuminate\Database\Eloquent\Concerns\HasAttributes
    • [x] protected $attributes = [];
    • [x] protected $original = [];
    • [x] protected $dateFormat;
    • [x] protected $casts = [];
    • [x] 访问器 & 修改器
  • Illuminate\Database\Eloquent\Concerns\HidesAttributes
    • [x] protected $hidden = [];
    • [x] protected $visible = [];
  • ArrayAccess
  • Arrayable
  • Jsonable

用法

创建一个 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);