资讯专栏INFORMATION COLUMN

yii2 关联查询用use加载外界参数

U2FsdGVkX1x / 2802人阅读

摘要:在使用等关联查询的时候,我发现没有办法将外界的参数进行传递进去,例如这时候就会报错没有定义这个参数。相关资料新增的闭包语法介绍

在使用yii2with、joinwith等关联查询的时候,我发现没有办法将外界的参数进行传递进去,例如:

$province_id=15;
$customers=Parks::find()->where(["id"=>2])
          ->width(["house"=>function($query){
           $query->andWhere(["province_id"=>$province_id]);
          }
          ])->asArray()->all();

这时候就会报错没有定义$province_id这个参数。这样的情况下我们使用use来加载外界参数:例如

$province_id=15;
$customers=Parks::find()->where(["id"=>2])
          ->width(["house"=>function($query) use($province_id){
           $query->andWhere(["province_id"=>$province_id]);
          }
          ])->asArray()->all();

这样就可以加载。
为什么这样用呢
php 5.3新增的闭包语法介绍function() use() {}
闭包: 内部函数使用了外部函数中定义的变量。
在PHP新开放的闭包语法中, 我们就是用use来使用闭包外部定义的变量的。

相关资料
php 5.3新增的闭包语法介绍function() use() {}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21882.html

相关文章

  • Yii的修行之路 - Active Record 活动记录

    摘要:建立关联关系后,通过可以获取一个对象的数组,该数组代表当前客户对象的订单集。定义关联关系使用一个可以返回对象的方法,对象有关联上下文的相关信息,因此可以只查询关联数据。基于表外键定义关联关系是最佳方法。 简介 Yii 在操作数据库方面提供了一个十分强大的类库来支撑整个框架业务的运转,这就是 Active Record (活动记录,以下简称AR)。 基本概念 AR类提供了一个面向对象的接...

    HmyBmny 评论0 收藏0
  • Yii修行之路 - Extension 扩展

    摘要:运行来安装指定的扩展。这更便于用户辨别是否是的扩展。当用户运行安装一个扩展时,文件会被自动更新使之包含新扩展的信息。上述代码表明该扩展依赖于包。例如,上述的条目声明将对应于别名。为达到这个目的,你应当在公开发布前做测试。 简述 扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。 基础 例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加...

    bovenson 评论0 收藏0
  • Yii2中hasOne、hasMany以及多对多关联查询

    摘要:前言是特有的用于多表关联查询的函数,平时在使用多表关联查询的时候建议使用它们。需求分析使用一条查询语句就能把列表的数据全部展现出来,列表包含一对一,一对多,以及多对多的关系。不能破坏自有的表头排序功能,以及中的存值。相关资料中多表关联查询 前言 hasOne、hasMany是Yii2特有的用于多表关联查询的函数,平时在使用多表关联查询的时候建议使用它们。为什么?因为这种方式关联查询出来...

    qc1iu 评论0 收藏0
  • Yii2中hasOne、hasMany以及多对多关联查询

    摘要:前言是特有的用于多表关联查询的函数,平时在使用多表关联查询的时候建议使用它们。需求分析使用一条查询语句就能把列表的数据全部展现出来,列表包含一对一,一对多,以及多对多的关系。不能破坏自有的表头排序功能,以及中的存值。相关资料中多表关联查询 前言 hasOne、hasMany是Yii2特有的用于多表关联查询的函数,平时在使用多表关联查询的时候建议使用它们。为什么?因为这种方式关联查询出来...

    lmxdawn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<