yii ActiveRecord】的更多相关文章

Yii中,将两个不相关的表利用中间表关联有via和viaTable两种方法,这里通过用户权限查询来进行示例. 关系如上,需要建立三个表 用户表 权限表 用户表 数据: 权限表 数据: 关联表 数据: 然后创建权力模型 <?php namespace app\models; use yii\db\ActiveRecord; class Power extends ActiveRecord { public static function tableName() { return 'power';…
在活动记录里自定义属性(数据表里没有的属性), 起初没有注意到问题. 在这个继承了activeRecord的模型中, 还自定义了很多方法,  此为前提.  出现的问题是: 使用属性获取不到数据库的字段, 会报错`unknown property, app\course\models\Wxpay::appid`属性不存在的错误, 因为 Yii 会自动为关联表的每一列定义 Active Record 中的一个属性.  检查了一下数据库字段名和属性名没写错,  以为是自定义属性造成的, 所以把那些自定…
ActiveRecord 使用方法 Example1 in查询 $criteria = new CDbCriteria(); $criteria->select = $select; $criteria->addCondition(["shop_id='$storeId.'", "on_state=$saleStatus"]); $criteria->addCondition("goods_id in (". join(&quo…
前提条件:安装了mongodb数据库 安装了mongo的php驱动 下载Yii的mongo扩展:这是YiiMongoDbSuite的1.3.6版本支持PHP Mongo驱动的版本为1.0.5及以下 下载链接:http://pan.baidu.com/s/1jGuWP1O 其它版本下载链接:https://github.com/canni/YiiMongoDbSuite 得到文件:YiiMongoDbSuite.tar.gz 解包,并将该文件放至应用的/protected/extensions文件…
ExtendedActiveRecord 继承自 CActiveRecord,因此基础功能与 CActiveRecord 无异 为添加对多数据库连接的支持,增加了对 connectionName() 方法的回调,用法跟已有的 tableName() 方法一致,返回数据库连接组件名称的字符串. 如果不定义该方法,则使用默认数据库连接(db) 源码如下: class ExtendedActiveRecord extends CActiveRecord { public static $db = ar…
参考文章: http://blog.csdn.net/yjj1s/article/details/6885276 http://www.gowhich.com/blog/38 http://www.cnblogs.com/aha/archive/2012/01/10/2317868.html…
作者:白狼 出处:http://www.manks.top/yii2_many_ar_relation_search.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 一个老生常谈的问题.最近通过群里的反馈,觉得很多人还是没有去理解这个问题.今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联以及如何去优化这个关联. 场景需求: 假设我们有一张用户表user和一张用户渠道表auth,两张数…
Yii框架中集成分层的 RBAC,代码位于vendor\yiisoft\yii2\rbac中,rbac工作原理分为两部分,建立授权数据和进行权限检查. 如上,一个角色拥有某个权限,如果希望用户拥有这个权限,那么就将拥有该权限的角色赋予给用户,特别是当系统中用户数量非常大的时候,如果需要修改权限只需要修改角色就可以了. 角色和权限都可以按层次组织.特定情况下,一个角色可能由其他角色或权限构成, 而权限又由其他的权限构成. 一个角色可以包含一个权限,反之则不行. 特定的权限,可以用一个规则 rule…
classes.php在yii运行的时候将被自动加载,位于yii2文件夹底下. <?php /** * Yii core class map. * * This file is automatically generated by the "build classmap" command under the "build" folder. * Do not modify it directly. * * @link http://www.yiiframewor…