情境要求:

要在订单(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,
]);
$dataProvider->setSort([
'attributes' => [
/* 其它字段不要动 */
/* 下面这段是加入的 */
/*=============*/
'customer_name' => [
'asc' => ['customer.customer_name' => SORT_ASC],
'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]) ;//<=====加入这句
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' ],//<=====加入这句
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# yii2
# gridview
# 排序
# 关联表
# 关联
# Yii2.0小部件GridView(两表联查/搜索/分页)功能的实现代码
# yii2实现分页
# 带搜索的分页功能示例
# Yii2实现同时搜索多个字段的方法
# Yii2实现让关联字段支持搜索功能的方法
# Yii2 ActiveRecord多表关联及多表关联搜索的实现
# 浅析Yii2 GridView实现下拉搜索教程
# yii2实现根据时间搜索的方法
# yii2带搜索功能的下拉框实例详解
# Yii2框架整合Xunsearch搜索引擎的方法
# yii2组件之下拉框带搜索功能的示例代码(yii-select2)
# Yii2.0框架实现带分页的多条件搜索功能示例
# 这句
# 要在
# 这段
# 使其
# 第二步
# 第三步
# 自动生成
# 大家多多
# 加在
# 搜索功能
# return
# strong
# hasOne
# className
# gt
# gii
# lt
# search
# extends
# OrderSearch
相关文章:
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
建站主机类型有哪些?如何正确选型
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星安装后如何配置SEO及设计样式?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
如何有效防御Web建站篡改攻击?
建站主机无法访问?如何排查域名与服务器问题
详解jQuery停止动画——stop()方法的使用
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
婚礼视频制作网站,学习*后期制作的网站有哪些?
学校为何禁止电信移动建设网站?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
浅析上传头像示例及其注意事项
建站主机核心功能解析:服务器选择与网站搭建流程指南
宁波免费建站如何选择可靠模板与平台?
如何基于PHP生成高效IDC网络公司建站源码?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
javascript中对象的定义、使用以及对象和原型链操作小结
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
如何在IIS中新建站点并解决端口绑定冲突?
如何彻底删除建站之星生成的Banner?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何在阿里云ECS服务器部署织梦CMS网站?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
小型网站制作HTML,*游戏网站怎么搭建?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何快速生成高效建站系统源代码?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站之星免费模板:自助建站系统与智能响应式一键生成
如何快速搭建二级域名独立网站?
如何在万网主机上快速搭建网站?
家具网站制作软件,家具厂怎么跑业务?
中山网站推广排名,中山信息港登录入口?
如何快速搭建高效WAP手机网站?
大连网站制作公司哪家好一点,大连买房网站哪个好?
建站之星后台管理系统如何操作?
制作网站的软件免费下载,免费制作app哪个平台好?
家庭建站与云服务器建站,如何选择更优?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
高端网站建设与定制开发一站式解决方案 中企动力
学校免费自助建站系统:智能生成+拖拽设计+多端适配
七夕网站制作视频,七夕大促活动怎么报名?
*请认真填写需求信息,我们会在24小时内与您取得联系。