Yii2-GridView 自定义关联字段带搜索和排序功能

Yii2-GridView 中让关联字段带搜索和排序功能示例 主要介绍了Yii2-GridView 中让关联字段带搜索和排序功能示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 立即下载


要在订单(Order)视图的gridview中显示出客户(Customer)姓名,并使其具有与其它字段相同的排序和搜索功能。

数据库结构
订单表order含有字段customer_id 与 客户表customer的id字段关联

首先确保在Order Model中包含以下代码:

public function getCustomer()
{
    return $this->hasOne(Customer::className(), ['id' => 'customer_id']);
}

用gii会自动生成此代码;

第一步:
在OrderSearch添加一个$customer_name变量

class OrderSearch extends Order
{
    public $customer_name; 
}

第二步:
修改OrderSearch中的search函数

public function search($params)
{
    $query =  Order::find();
    $query->joinWith(['customer']); //添加代码
    $dataProvider = new ActiveDataProvider([
        'query' => $query,   //$query必须返回ActiveQuery
    ]);
    
    $dataProvider->setSort([
        'attributes' => [
            /* 指定其它字段 */    
            /* 加入 */
            /*=============*/
            'customer_name' => [
                'asc' => ['customer.customer_name' => SORT_ASC],  //table.字段,若行记录字段名唯一,可略table
                'desc' => ['customer.customer_name' => SORT_DESC],
                'label' => 'Customer Name'
            ],
            /*=============*/
        ]
    ]); 

    if (!($this->load($params) && $this->validate())) {
        return $dataProvider;
    }

    $query->andFilterWhere([
        'id' => $this->id,
        'user_id' => $this->user_id,
        'customer_id' => $this->customer_id,
        'order_time' => $this->order_time,
        'pay_time' => $this->pay_time,
    ]);

    $query->andFilterWhere(['like', 'status', $this->status]);
    $query->andFilterWhere(['like', 'customer.customer_name', $this->customer_name]) ;   //添加代码,table.字段,若行记录字段名唯一,可略table
 
    return $dataProvider;
}

第三步:
修改order/index视图的gridview

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'id',
        'customer_id',  
        'status',
        ['label'=>'客户',  'attribute' => 'customer_name',  'value' => 'customer.customer_name' ],//添加代码,table.字段,若行记录字段名唯一,可略table

        ['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>



【智能车学习】电磁循迹中的基本控制算法 今天心血来潮,突然想总结一下电磁车的一些基本算法,也希望可以给新手同学们一点帮助和参考。本篇主要讲述智能车电磁循迹中涉及到的基本算法,包括滤波算法,归一化算法,PID控制等 阅读详情

相关推荐

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2475

yii2 mysql in_YII 按照in中内容顺序进行排序,mysql 按in条件中的字段排序

有时我们想按照in中指定的顺序返回查询结果,mysql举例如下SELECT*FROM`subject`WHEREidin(18,16,19)orderbyfield(id,18,16,19)在YII中也可以,找了半天,纪录一下以下两种方式都可以$orderBy=(new\yii\db\Query())->select('*')->from('product')-...

weixin_33930436的博客 498

手把手教你用Verilog实现AT24C64的I2C读写(附完整仿真流程)

本文详细介绍了如何使用Verilog HDL设计AT24C64 EEPROM的I2C控制器,并配合ModelSim完成完整的仿真验证流程。内容涵盖I2C协议解析、Verilog状态机设计、AT24C64读写操作实现,以及仿真波形分析和调试技巧,为FPGA开发者提供了一套完整的EEPROM控制解决方案。

3c4x5z6v7b的博客 846

YII中actionadmin对应的gridview数据的排序

1、首先找到模型,然后找到public function search()方法 2、在$criteria=new CDbCriteria;后面增加如下方法:   //商品列表按ID字段、降序排列 $criteria->order='goods_id desc'; 3、这时,该数据表将会控照goods_id字段,降序排列,升序为asc.   完整代码如下:   <?php /

周祥平程序专栏 1223

Unity URP半透明物体渲染避坑指南:双面渲染与深度写入的实战技巧

本文深入探讨了Unity URP中半透明物体自交叠渲染问题的核心根源与解决方案。针对模型自身交叠导致的排序错误,文章提供了双面渲染与深度写入两种实战技巧,详细分析了其实现原理、性能开销及适用场景,帮助开发者根据项目需求选择最优方案,有效提升玻璃、水体等材质的视觉表现。

sunny的博客 545

利用GBD数据库做未来疾病负担预测

最近看到一篇文献,利用GBD数据库中的数据对疾病负担的发展趋势进行预测。觉得很有趣,就抽空用R语言复盘了一下里面关键的方法。 参考文献: Changing trends in the disease burden of esophageal cancer in China from 1990 to 2017 and its predicted level in 25 years DOI: 10.1002/cam4.3775 1. 相关R包的安装 主要用到的R包有3个,一个一个讲: 1.1 Nordpred

NickyCat的博客 5万+

Yii2中数据的特殊排序方法

开发时,经常遇到查询数据的排序问题。大部分排序很简单,“order by 字段 asc|desc” 即可,或者多字段排序。偶尔也会遇到特殊的排序,比如按照特定的顺序(如:按照1、3、4、2、5排)。 在原生SQL中可以使用 ... + ORDER BY FIELD(`字段`,1,3,4,2,5) 进行排序。但是使用yii2框架中的model函数该怎么实现呢? 需求:按照状态值为0、2 、1且创建时间正序排列。 代码如下: $query = ListModel::find() .

编程不过是一门失传艺术的别名,这门艺术的名字叫做“思考” 1204

Jetson Thor平台JP7.0版本96712 GMSL相机驱动调试记录

摘要:本文档记录了在Thor Custom Board (JP7.0GA)上配置GMSL摄像头时遇到的视频流问题及调试过程。问题表现为视频设备(/dev/video11)能正常创建,但获取视频时出现"Internal data stream error",而相同配置在AGX Orin JP6.0上运行正常。通过梳理硬件拓扑、v4l2-ctl测试、提升时钟频率及分析内核日志,发现VI引擎未接收到帧数据包。调试步骤包括检查设备树冲突、调整I2C总线配置、修正通道名称,最终通过屏蔽传感器启动时

jzwjzw19900922的博客 1111

yii2 多维数组指定多字段排序

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。关联(string)键名保持不变,但数字键名会被重新索引。

Qimi 的博客 4394

18年陕西省TI杯电赛无人机赛题视觉部分

更新: 相同任务另外两种不同的视觉方法: https://blog.youkuaiyun.com/qq_41895747/article/details/97613077 https://blog.youkuaiyun.com/qq_41895747/article/details/97614971 任务:识别前方的方框,无人机从方框中飞出去 视觉任务:识别特定方框,返回方框中心坐标 # -*- codin...

沉迷单车的追风少年 1506

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

XiaoqiangClub的博客 4679

yii2 框架where_in 查询不排序,按顺序查询

yii2 框架where_in 查询不排序,按顺序查询

qq_16659821的博客 581

NR PUCCH(二)PUCCH format 2/3/4

继续看PUCCH2/3/4:PUCCH format 0和1所携带的信息bits少,UCI bits2bits,信息bit需要经过编码等过程下面分别来看。

ModemProtocol的博客 539

Yii2让关联字段支持搜索功能

这里有两张表,表结构如下,companies_compay_id 为外键   在视图中,可以用companiesCompany.company_name来获取公司名,不过这样是不支持搜索的。 想要支持搜索功能,需要在branches的index视图添加以下代码 GridView::widget([ 'dataProvider' => $dataProvider, 'fil

wjtlht928的专栏 1844

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

yii2 GridView 关联表字段的搜索和排序

模型 BiosafetyCheck (检查表) 一对多 BiosafetyAccept (接受项,检查项), 模型 BiosafetyAccept 一对一 BiosafetyProblem (问题与整改记录) BiosafetyCheck 中 public function getBiosafetyAccepts() { return $this->hasMany(BiosafetyAccept::class, ['record_id' => 'id']);

sjg20010414的专栏 237

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

yii2 ActiveRecord多表关联以及多表关联搜索的实现 [ 2.0 版本 ]

一个老生常谈的问题。最近通过群里的反馈,觉得很多人还是没有去理解这个问题。今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联以及如何去优化这个关联。 场景需求: 假设我们有一张用户表user和一张用户渠道表auth,两张数据表通过user.id和auth.uid进行一对一关联。现需要在user列表展示auth表的来源渠道source,且该渠道可搜索。 首先我们先通过gi...

weixin_39289004的博客 386

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

yii2 GridView常见操作

收集了网络上GridView出现的大部分问题做一个总结,希望有一个能帮助到你。 下拉搜索日期格式化并实现日期可搜索根据参数进行是否显示链接可点击跳转显示图片html渲染自定义按钮设定宽度等样式 自定义字段自定义行样式增加按钮调用js操作实现批量删除案例批量删除禁止排序table加表头字段内容换行 yii2 GridView 下拉搜索实现案例教程 yii2 GridView 日期格式化并实

天下熙熙,皆为利来;天下攘攘,皆为利往。 2087

Yii2-GridView 中让关联字段带搜索和排序功能

情境要求: 要在订单(Order)视图的gridview中显示出客户(Customer)姓名,并使其具有与其它字段相同的排序和搜索功能。 数据库结构 订单表order含有字段customer_id 与 客户表customer的id字段关联 首先确保在Order Model中包含以下代码: public function getCustomer() { return $th

u014086788的专栏 2083

YII2 GridView联表:文本框搜索、下拉框选择搜索和排序

用户资金记录表和用户表,两张表通过userId关联 需求:需要在资金记录表中添加两列,username用户名和realname真实姓名,并实现自动搜索 直接干货 第一步:找到用户资金记录表对应的AR模型类 ,common\models\BorrowAccountLog,在该文件中进行关联User表 自己百度下hasOne 第二步:在BorrowAccountLogSearch中加

u011299210的专栏 4293

yii2-gridview中让关联字段带搜索和排序功能

要求: 要在订单(Order)视图的gridview中显示出客户(Customer)姓名,并使其具有与其它字段相同的排序和搜索功能。 数据库结构 订单表order含有字段customer_id 与 客户表customer的id字段关联 首先确保在Order Model中包含以下代码: 一定要是get开头的,用的时候,把get去掉 [code="java"]public fu...

马 超 240

php yii gridview字符串截取,yii2 GridView常见操作,yii2gridview

yii2 GridView常见操作,yii2gridview作者:白狼 出处:http://www.manks.top/article/yii2_gridview本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。收集了网络上GridView出现的大部分问题做一个总结,希望有一个能帮助到你。如果下面有没说到的GridView常见问...

weixin_32389427的博客 262

YII关联字段并带搜索排序功能

1、简介   从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册。   在上一个项目中因为需要将关联的表的字段显示出来并且带搜索排序功能,这个在之前并没有接触过,因此在手册中查找了相关的资料把这个需求写出来了,并在有道云做了一些笔记,今天刚好是周末有时间就将它整理成一篇博客吧。   废话不多说,...

weixin_30713953的博客 174

多表联合搜索 php,Yii2 ActiveRecord多表关联及多表关联搜索的实现

Yii的ActiveRecord是与数据库打交道的类,也即MVC中的M(模型层),也是ORM的O(Object)。一个老生常谈的问题。最近通过群里的反馈,觉得很多人还是没有去理解这个问题。今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联以及如何去优化这个关联。场景需求:假设我们有一张用户表user和一张用户渠道表auth,两张数据表通过user.id和auth.uid...

weixin_33205735的博客 371

php yii gridview字符串截取,Yii2 GridView常见操作

下拉搜索日期格式化并实现日期可搜索根据参数进行是否显示链接可点击跳转显示图片html渲染自定义按钮设定宽度等样式自定义字段自定义行样式增加按钮调用js操作yii2 GridView 下拉搜索实现案例教程yii2 GridView 日期格式化并实现日期可搜索 案例是否显示某列案例type的值等于1的时候,列name才显示,否则该列不显示[’attribute’ => ’name’,’value...

weixin_42499899的博客 218

php 多个没关联表搜索,yii2 ActiveRecord多表关联以及多表关联搜索的实现

作者:白狼 出处:http://www.manks.top/yii2-many-ar-relation_search.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。一个老生常谈的问题。最近通过群里的反馈,觉得很多人还是没有去理解这个问题。今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联...

weixin_35146121的博客 204
上一篇: Yii2-使用ActiveRecord数据操作数据分页的记录重复问题
下一篇: PHP无限分类(树形类),非数据库直接递归
xmlife
博客等级 码龄19年 89粉丝 55原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值