gintonicweb / multiselect
根据一组条件切换、选择或多选数据库字段
0.0.1
2015-11-27 09:44 UTC
Requires
- php: >=5.4.16
- cakephp/cakephp: ~3.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-14 18:20:25 UTC
README
根据一组条件切换、选择或多选数据库字段
安装
使用 Composer
composer require muffin/multiselect:1.0.x-dev
然后您需要加载插件。您可以使用以下shell命令
bin/cake plugin load Muffin/Multiselect
或者手动将以下语句添加到您的应用的 config/bootstrap.php
Plugin::load('Muffin/Multiselect');
用法
在播放列表中,一次只能播放一首歌曲。每当一首歌曲被标记为正在播放时,其他所有歌曲都会被标记为未播放。为此,我们使用布尔字段 playing
。
CREATE table songs(
id int(10) unsigned NOT NULL auto_increment,
title varchar(255) NOT NULL,
playing tinyint(1) NOT NULL,
);
在您的模型 SongsTable.php
中加载行为
$this->addBehavior('Multiselect.Multiselect', ['playing']);
可以处理更复杂的用例,例如以下情况。对于同一作者,一次只能标记两篇文章为 featured
。当第三篇文章被标记为特色时,三篇文章中的一篇将被取消特色。在这种情况下,按最少观看次数和修改日期排序。
$this->addBehavior('Multiselect.Multiselect', [
'featured' => [
'state' => true,
'scope' => ['author_id'],
'limit' => 2,
'order' => [
'view_count' => 'ASC',
'modified' => 'ASC',
],
],
]);
配置
[字段名]
作为选择使用的字段名state
将活动字段标记为true
或false
scope
可以按这里定义的字段对选择进行分组limit
最大选择元素数order
超过限制时取消选择字段的顺序
补丁 & 功能
- 分支
- 修改、修复
- 测试 - 这很重要,所以不要无意中破坏它
- 提交 - 不要修改许可证、todo、版本等。(如果您更改了任何内容,请将其放入自己的提交中,这样我在拉取时可以忽略它们)
- 拉取请求 - 主题分支将获得额外加分
为了确保您的PR被上游考虑,您必须遵循 CakePHP编码规范。
错误 & 反馈
http://github.com/usemuffin/multiselect/issues
许可证
版权所有 (c) 2015, Use Muffin,并许可在 MIT许可证 下。