yii2简述一对一数据表关联

1、建两个表publish:pub_id 和 images:pub_id,image_path;

2、使用gii的crud生成代码

3、在models内Publish.php内写关联函数

public function getImage()
    {
        return $this->hasOne(Images::className(),[‘pub_id‘=>‘pub_id‘]);
    }

4、在models内publishSearch.php内写joinWith()函数

    public function search($params)
    {
        $query = IhpTPublishInfo::find();
        $query->joinWith([‘image‘]);

        $dataProvider = new ActiveDataProvider([
            ‘query‘ => $query,
        ]);

        $this->load($params);

        if (!$this->validate()) {

            return $dataProvider;
        }

        $query->andFilterWhere([
            ‘pub_id‘ => $this->pub_id,

        ]);

        return $dataProvider;
    }
}

5、在view内index.php的gradview中调用,$model->image->img_path,其中image对应getImage()函数

    <?= GridView::widget([
        ‘dataProvider‘ => $dataProvider,
        ‘filterModel‘ => $searchModel,
        ‘columns‘ => [
            [‘class‘ => ‘yii\grid\SerialColumn‘],
            ‘pub_id‘,
            [‘label‘=>‘缩略图‘,‘format‘=>‘raw‘,‘value‘=>function($m){
                //var_dump($m->image);
                if(is_object($m->image)){
                    return Html::img($m->image->img_path,[‘alt‘ => ‘缩略图‘,‘width‘ => 80]);
                }
            }],

            [‘class‘ => ‘yii\grid\ActionColumn‘],

            [‘label‘=>‘添加‘,‘format‘=>‘raw‘,‘value‘=>function($data){
                $url="http://";
                return Html::a(‘添加推荐‘, $url, [‘class‘ => ‘btn btn-success‘]);
            }],

        ],
    ]); ?>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 22:25:26

yii2简述一对一数据表关联的相关文章

21.Yii2.0框架多表关联一对多查询之性能优化--模型的使用

控制器里 //关联查询 public function actionRelatesearch(){ //关联查询 //查询方法一(查一行) 一维数组下的值是obj $category = Category::findOne(1); //查分类表里的数据 abj // $categoryarr = $category->attributes; //获取某一行的分类结果里的对象属性,array //查文章里的cid等于2的 拿上面的结果 $categoryarr['cid']=2 作为本次查询的条件

数据表关系

目录 数据表配置 数据表关系: 基表: 表关联联系: 外键字段属性: models.py 序列化检验措施: 数据测试脚本: 多表查询: ModelSerializer多表操作: 数据表配置 数据表关系: 基表: #基表 : 为抽象表,是专门用来被继承,提供公有字段的,自身不会完成数据库迁移 eg: from django.contrib.auth.models import User class BaseModel(models.Model): is_delete = models.Boolea

salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解

建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema Builder 或者build-->schema Builder进入: 2.采用force.com Explorer通过自己写查询语句来查询数据. 此链接为force.com Explorer的下载链接:  http://force-com-explorer-beta.software.infor

wordpress数据库结构以及数据表之间的关系

默认WordPress一共有以下11个表.这里加上了默认的表前缀 wp_ . wp_commentmeta:存储评论的元数据 wp_comments:存储评论 wp_links:存储友情链接(Blogroll) wp_options:存储WordPress系统选项和插件.主题配置 wp_postmeta:存储文章(包括页面.上传文件.修订)的元数据 wp_posts:存储文章(包括页面.上传文件.修订) wp_terms:存储每个目录.标签 wp_term_relationships:存储每个文

在yii2中展示表关联的数据

方法一: 在数据库中构建数据表的时候,首先把表之间的关联关系也定义进去: 方法二: 在模型中定义表之间的关联关系,如下: public function getAuthor(){ return $this->hasOne(Author::className(),['id'=>'author_id']); } 此方法中的getAuthor为一对一的关系. 在视图中利用yii\helpers\ArrayHepler 类来填充下拉列表内容: echo $form->field($model,'

yii2 ActiveRecord多表关联以及多表关联搜索的实现

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

Yii2中多表关联查询(join、joinwith) with是不执行sql的

Yii2中多表关联查询(join.joinwith) 我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name customer_id book_id) 图书表 (id book_name author_id) 作者表 (id author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Customer class Customer extends \

Yii2中多表关联查询(join、joinwith)

我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写

Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)(转)

我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写