松饼/多选

根据一组条件切换、选择或多选数据库字段

安装: 28

依赖项: 0

建议者: 0

安全: 0

星星: 2

关注者: 3

分支: 4

类型:cakephp-plugin

0.0.1 2015-11-27 09:44 UTC

This package is auto-updated.

Last update: 2024-08-28 01:10:19 UTC


README

Build Status Coverage Total Downloads License

根据一组条件切换、选择或多选数据库字段

安装

使用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']);

可以处理更复杂的使用场景,如下所示。对于同一作者,同一时间只能标记2篇文章为featured。当第三篇文章被标记为特色时,3篇文章中的一篇会被取消特色。在这种情况下,按照最少观看次数和修改日期排序。

$this->addBehavior('Multiselect.Multiselect', [
    'featured' => [
        'state' => true, 
        'scope' => ['author_id'],
        'limit' => 2,
        'order' => [
            'view_count' => 'ASC',
            'modified' => 'ASC',
        ],
    ],
]);

配置

  • [字段名]用作选择的字段的名称
  • state将活动字段标记为truefalse
  • scope可以选择按此处定义的字段分组
  • limit最大选择元素数量
  • order超过限制时取消选择字段的顺序

补丁和功能

  • 分支
  • 修改、修复
  • 测试 - 这很重要,所以不要无意中破坏它
  • 提交 - 不要修改许可证、todo、版本等。(如果您做了修改,请将它们提升到自己的提交中,这样我可以在拉取时忽略它们)
  • 拉取请求 - 主题分支的加分项

为了确保您的PR被考虑,您必须遵循CakePHP编码规范

错误和反馈

http://github.com/usemuffin/multiselect/issues

许可证

版权所有(c)2015,Use Muffin,许可协议为MIT许可证