saifalbd/model-collection

将 PHP 数组转换为类似 Laravel 模型的对象

v1.0 2019-07-21 08:23 UTC

This package is not auto-updated.

Last update: 2024-09-24 08:14:48 UTC


README

如果你想要将数组转换为对象或多维数组转换为 Laravel Eloquent Collection 类型的 Collection,那么这个包对你来说非常有用。你也可以像处理关联数组一样调用对象,例如 object->key 或 object['key']

入门指南

use Saifalbd\CustomModel\Model;

模型创建

在非静态方法中

$model = new Model();
$data = $model->add(array("name"=>"John", "email"=>"john@gmail.com", "age"=>33));

返回对象,你可以访问 $data["name"] 或 $data->name,你也可以添加多个

$collection = $model->add()->add()->add()->get()

返回对象集合,你可以访问 $collection[index]->property;

在静态方法中

$data = Model::make(array("name"=>"John", "email"=>"john@gmail.com", "age"=>33));

返回对象,你可以访问 $data["name"] 或 $data->name

集合创建

在非静态方法中

$model = new Model();
$collection = $model->addAll(
array("name"=>"Ram", "email"=>"ram@gmail.com", "age"=>23),
    array("name"=>"Shyam", "email"=>"shyam23@gmail.com", "age"=>28),
    array("name"=>"John", "email"=>"john@gmail.com", "age"=>33),
    array("name"=>"Bob", "email"=>"bob32@gmail.com", "age"=>41)
);

返回对象集合,你可以访问 $collection[index]->property;

在静态方法中


$collection = Model::makeAll(
array("name"=>"Ram", "email"=>"ram@gmail.com", "age"=>23),
    array("name"=>"Shyam", "email"=>"shyam23@gmail.com", "age"=>28),
    array("name"=>"John", "email"=>"john@gmail.com", "age"=>33),
    array("name"=>"Bob", "email"=>"bob32@gmail.com", "age"=>41)
);

返回对象集合,你可以访问 $collection[index]->property;

注意:如果你在 Laravel 项目中使用这个包,那么调用 $collection->collection(); 返回 Illuminate\Support\Collection

模型设置

$model = new Model();
$model->country = 'bangladesh'

模型获取

$model->country;
or 
$model['country'];

集合 JSON

$model = new Model();
$json = $model->addAll(MultidimensionalArray)->toJson();
or 
$json = Model::makeAll(MultidimensionalArray)->toJson();

安装

composer require saifalbd/model-collection