Eloquent 的表单层,支持多种字段包

v1.1.2 2014-03-25 18:28 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:41:03 UTC


README

bree

#Bree

Bree 提供了一个接口,可以将字段类型与现有的 Eloquent 模型属性关联起来。

此项目仍处于早期阶段,可能会有重大更改。

Build Status

##安装

使用 Laravel 4 和 Composer

  1. "packettide/bree": "1.x" 添加到 composer.json 中的 'require' 块
  2. 运行 composer update
  3. 'Packettide\Bree\BreeServiceProvider', 添加到 app/config/app.php 中的 $providers 数组
  4. 然后发布所有 Bree 资产 - php artisan bree:assets

##基本用法

在本节中,我们将介绍如何与 Bree 交互的基础知识。Bree 通过包装现有的 Eloquent 模型并附加字段定义到模型属性来实现功能。

在路由/控制器中定义 Bree 字段

$book = new Bree('Book', array(
			'title'  => array('type' => 'Text')
		));

在 Eloquent 模型中定义 Bree 字段

在 app/models/Book.php 中

<?php

class Book extends Eloquent {

	public $breeFields = array(
		'title' => array('type' => 'Text')
	);

请注意,您可以在模型中定义基本字段映射,如果需要,可以覆盖路由中的字段。

显示新的模型

$book = new Bree('Book');
echo $book; //this will output fields for all defined attributes

显示现有的模型

$book = new Bree('Book');
$book->find(1);
echo $book;

显示 Bree 字段

如果您不想显示模型的所有 Bree 字段或想要控制顺序,可以在视图中使用模型属性,如下所示

// Route
$book = new Bree('Book');
return View::make('books.create', array('book' => $book));

// View
{{ $book->title }} // this will output the label if available, followed by the field
{{ $book->title->field() }} // outputs the field only
{{ $book->title->label() }} // outputs the label only

更新/保存数据

$input = Input::except('_token');
$book = new Bree('Book');

foreach($input as $key => $value)
{
	$book->$key = $value;
}

$book->save();

字段定义

以下是一个字段定义的示例

array('comments' => array('type' => 'Relate', 'label' => 'Book Comments', 'related' => 'Comment', 'title' => 'title'))
  • 此数组键(注释)是该字段应关联的 Eloquent 属性或关系的名称。
  • 类型:这是字段类型的名称
  • 标签:这是一个可选属性,用于生成字段的相应 HTML 标签

核心字段类型

以下字段类型是默认可用的

  • Cell - 允许对相关 Bree 模型进行内联修改
  • Date - HTML5 日期输入
  • File - 单个文件上传字段
  • Relate - 可以轻松地将相关模型绑定到一起
  • Text - 简单文本输入
  • Textarea - 简单文本区域输入
  • Time - HTML5 时间输入

使用其他字段

将另一个字段包添加到您的项目通常涉及将依赖项添加到 composer.json 文件中,并使用应用程序注册服务提供程序。以下是一些字段包,它们在其项目页面上提供了更详细的说明

使用 Bree 搭建脚手架

虽然 Bree 是一个简单的层,可以添加到现有的 Eloquent 模型上,但您可能会发现设置字段到属性以及模型关系等的映射很麻烦。我们还有一个名为 Sire 的包,它可以帮助解决此问题,同时提供一种简单的方法来使用 Bootstrap 3 搭建应用程序。

扩展 Bree

“Bree”是一款灵活可扩展的基础构建工具,可根据项目的需求创建字段类型。 要了解如何创建自己的字段包,请从这里开始

许可证

Bree 是开源软件,采用MIT 许可协议