addLinkages("name值", "标题", "提示", "表名", "级别数量" [, "默认值", "字段名"])

标识符:linkages

参数含义类型namename值string

title标题string

tips提示string

table表名string

level级别数量string

default默认值string

fields字段名array/string

快速联动比普通联动多了个“s”,但它可以让联动操作更方便快速,它只需要配合数据库而不用自己编写返回方法。

依然来个小栗子

首先,我们需要创建一张表,用来读取联动数据。

CREATE TABLE `dp_test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`pid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO `dp_test` VALUES ("1", "广东", "0");
INSERT INTO `dp_test` VALUES ("2", "江西", "0");
INSERT INTO `dp_test` VALUES ("3", "广州", "1");
INSERT INTO `dp_test` VALUES ("4", "深圳", "1");
INSERT INTO `dp_test` VALUES ("5", "河源", "1");
INSERT INTO `dp_test` VALUES ("6", "赣州", "2");
INSERT INTO `dp_test` VALUES ("7", "白云区", "3");
INSERT INTO `dp_test` VALUES ("8", "越秀区", "3");
INSERT INTO `dp_test` VALUES ("9", "南山区", "4");
INSERT INTO `dp_test` VALUES ("10", "江夏村", "7");

数据表不一定是test,任何表都可以,只要在表中包含三个字段id、name、pid,相信这三个字段在一般有层级关系的数据表中都会有。当然,字段名是可以自定义的。

有了数据表后,就可以使用快速联动了。

return ZBuilder::make("form")
->addLinkages("city", "选择所在城市", "", "test")
->fetch();

效果:

海豚如何配置python运行环境 海豚ss官网_海豚如何配置python运行环境

默认是2级联动,也可以是3级,4级,目前最多支持4级联动,再多好像也没什么必要。

设置为3级联动

return ZBuilder::make("form")
->addLinkages("area", "选择所在地区", "", "test", 3)
->fetch();

效果;

海豚如何配置python运行环境 海豚ss官网_字段名_02

注意:快速联动只能设置一个name值,也就是说,不管是几级联动,都只保存最后一项的数据。

默认值

可以在设置快速联动时给默认值,比如:

return ZBuilder::make("form")
->addLinkages("area", "选择所在地区", "", "test", 3, 8)
->fetch();

8是指数据表中“越秀区”的id,它是第三级的数据,如果设置的快速联动是3级,而默认值是2级的id或4级的数据,则会报错。

字段名

默认情况下,快速联动会去寻找表中的三个字段id、name、pid。其中,id是指表中的主键字段,name是下拉菜单显示的名称,pid是父级id。

如果您的数据表中不是这三个字段名,那么可以修改字段名,比如实际上数据表的主键是aid,标题是title,那么就可以这么定义。

return ZBuilder::make("form")
->addLinkages("area", "选择所在地区", "", "test", 3, "", "aid,title")
->fetch();

注意:如果使用字符串重新定义字段名,则必须按顺序定义,默认顺序是id,name,pid,不能定义为title,aid

用数组的方式重新定义字段名,前后顺序可以随意。

return ZBuilder::make("form")
->addLinkages("area", "选择所在地区", "", "test", 3, "", ["name" => "title", "id" => "aid"])
->fetch();