hqq/scenario

用于在 Laravel 中设置场景的包

0.0.2 2017-07-31 11:10 UTC

This package is not auto-updated.

Last update: 2024-09-28 00:46:09 UTC


README

  • 此包与 Laravel >=5 兼容

  • 此包可以帮助您从数据库中创建模型并为其设置场景。

运行 Composer update 命令

$ composer require hqq/scenario

或者,如果您使用 phpStorm,可以转到 Tools > Composer > Add Dependency

在您的 config/app.php 中,将 hqq\scenario\ScenarioServiceProvider::class, 添加到 $providers 数组的末尾

'providers' => [

    Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
    Illuminate\Auth\AuthServiceProvider::class,
    ...
    hqq\scenario\ScenarioServiceProvider::class,

],

使用 cmodel

在 artisan 控制台中输入

php artisan make:cmodel table_name

示例模型

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Units extends Model {
	static $rules = [
		'phone'       => ['required|numeric|digits:11'],
		'address'     => ['required'],
		'services'    => ['required'],
		'website'     => ['required|regex:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/'],
		'email'       => ['required|email',['mostafa']],
		'description' => ['required',['mostafa']],
		'about_us'    => ['required', ['mehrdad']],
		'picture'     => ['required|image|mimes:jpg,png,gif,jpeg|max:1000', ['store','mostafa']]
	];
	protected $table = "units";
	protected $fillable = ['picture', 'phone', 'address', 'services', 'website', 'email', 'description', 'about_us'];
}

使用代码

Scenarioo::setRules(AllowedUnits::$rules)

Scenarioo::setScenario(['store','mostafa'])

Scenarioo::Rules()

Scenarioo::setRules(Units::$rules);
Scenarioo::setScenario(['store','mostafa']);
$validation = \Validator::make($request->all(),Scenarioo::Rules());
if($validation->fails()){
	return \Redirect::back()->withErrors($validation->errors())->withInput();
}

许可证

  • 此包由 Mostafa Haqiqi 和 Mehrdad Akbari 为 Laravel >= 5 创建和修改,并按照 MIT 许可证发布。