bastinald / laravel-livewire-model
Laravel Livewire 数据模型特性。
2.0.2
2021-08-31 09:31 UTC
Requires
- laravel/framework: ^8.0
- livewire/livewire: ^2.0
This package is auto-updated.
Last update: 2024-09-11 09:54:31 UTC
README
本包包含一个特性,使得 Laravel Livewire 表单数据模型操作变得简单。不再需要为每个表单输入创建 Livewire 组件属性。所有表单数据都将放置在 $model 属性数组中。
文档
安装
通过 composer 安装此包
composer require bastinald/laravel-livewire-model
使用方法
WithModel 特性
将 WithModel 特性添加到您的 Livewire 组件中
class Login extends Component { use WithModel; // }
获取模型数据
以数组形式获取所有模型数据
$array = $this->getModel();
获取单个值
$email = $this->getModel('email');
获取特定值的数组
$credentials = $this->getModel(['email', 'password']);
设置模型数据
设置单个值
$this->setModel('name', 'Kevin');
使用数组设置值
$this->setModel([ 'name' => 'Kevin', 'email' => 'kevin@example.com', ]);
使用 Eloquent 模型数据设置值
$this->setModel(User::first());
绑定模型数据
只需在 wire:model 属性前加上 model.
<input type="email" placeholder="{{ __('Email') }}" class="form-control" wire:model.defer="model.email" >
验证模型数据
使用 validateModel 方法验证模型数据
$this->validateModel([ 'name' => ['required'], 'email' => ['required', 'email'], ]);
此方法与 Livewire 的 validate 方法类似,因此如果您愿意,可以在单独的 rules 方法中指定您的规则。