关于yii的relations
.
太郁闷了,yii的relations里self::BELONGS_TO默认是用当前指定的键跟关联表的主键进行join,例如:
return array(
'reply' => array(self::BELONGS_TO, 'BookPostReply', 'postid'),
);
默认生成的sql是 on id = postid,id是BookPostReply的主键。
但今天我遇到的需求却是需要生成 on BookPostReply.postid =
t.postid,不去关联主键,而且关联其中一个字段的值,怎么搞都搞不定,论坛也翻了个遍,不得不说,yii的论坛搜索功能真的很烂,每次用都要从一
堆的内容里过滤信息,还不见的能找到自己想要的,而且手册也比较简单,对这些东西没有做比较深入的解答。
后来无意中看到有个on的属性,刚好跟sql里的on一样,于是抱着试试的想法,在配置里加了上去
return array(
'reply' => array(self::BELONGS_TO, 'BookPostReply', 'postid', 'on' => 't.postid=reply.postid'),
);
看调试信息里的SQL语句,发现yii生成了一条 on id = postid and t.postid=reply.postid 这样的语句,看到这就已经明白这个东西的作用了,于是将postid清空,改成如下:
return array(
'reply' => array(self::BELONGS_TO, 'BookPostReply', '', 'on' => 't.postid=reply.postid'),
);
终于将默认的on重置掉了^_^,yii确实很灵活,可惜一直没有一份详细的开发手册,导致很多时候要走不少弯路,希望以后手册能够更加完善起来吧!
分享到:
相关推荐
yii:Yii学习资料和新闻 :用Yii开发的项目案例,包括开源不开源的,包括Yii1和Yii2,至今有300多个案例了。 :forecho开的摘要小专栏,欢迎有需要的朋友订阅。 Docs文档 (每次github有提交时15分钟后自动更新比...
Yii2学习模块 从安装composer和git开始练习,一步一步学习Yii2 :grinning_face: . 我们还将在 github 上了解一些有关fork 。 我们用于学习的存储库是存储库 目录
Fluentd for Yii 1.1.* 的日志路由如何使用> 在应用程序内正常日志记录(yii 可以通过在消息中附加字符串来添加跟踪信息) Yii :: log ( 'test-message' , CLogger :: LEVEL_INFO , 'fluent-log' );//{"level":"info...
rbac:基于yii2的后台管理系统
Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。 Yii几乎拥有了当今Web 2.0应用发展的全部特性。下面是这些特性的一个简短的清单。 1、模型-视图-控制器(MVC)设计模式:Yii在...
Yii <- Yii 2 桥 在遗留的 Yii 1 应用程序中使用 Yii 2 小部件。 要求 Yii 1.1.15 应用 安装 安装此扩展的首选方法是通过 。 要么跑 php composer.phar require --prefer-dist "neam/yii-yii2-bridge" "*" 或...
php框架:ThinkPHP+YII两个框架,想要开发php网站的可以下载使用。
ThaiYearFormatter 转换日期这是Yii框架的泰语年(Yii 2)。 ThaiYearFormatter 必须在php.ini中启用php扩展名intl。 打开php.ini文件并按如下所示启用它。 extension=php_intl.dll[intl]intl.default_locale =th_TH...
信使 转储位于此处-/ Messenger / dump 创建具有权限777的文件夹/ Messenger / Web /存储 一定! 您需要运行以下命令: php yii messenger
yii2 PHP yii2
yii2-weuiWeUI for Yii 2为Yii2封装weui组件,让微信开发更简单本组件为车卡通微信会员管理系统而做,]]authorfufudaoanu-zhangnuowei000InstallationInstall With ComposerThe preferred way to install this ...
yii2-fullcalendar fullcalendar yii2小部件安装安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist tejrajs/yii2-fullcalendar "dev-master"或添加 "tejrajs/yii2-fullcalendar": ...
yii2 swoole:让yii2运行在swoole上 , 运行在swoole上的yii2是运行在php-fpm上yii2的5倍以上
Yii-QA简介(此项目目前已不再维护)感谢选择Yii-QA,基于框架基础实现的问答程序。 #意识到目前的急性时间有限,无法管理太多的额外项目,我准备合并现有手上的项目,集成在一个项目中,感谢支持!!!!!!!请关注:...
yii-basic 《 yii框架实战》教程源码 《 yii框架实战》教程地址: ://www.voidking.com/2017/05/18/deve-yii-in-action/ 安装 原始码 git clone https://github.com/voidking/yii-basic.git basic 数据库 利用...
yii2-icons 此扩展提供了一种简单的方法来设置各种图标框架以与Yii Framework 2.0一起使用。 当前支持最流行和免费的图标框架。 将来可以根据需求和反馈来扩展此列表。:Krajee将其作为CSS图标提供的Unicode符号集合...
yii2-builder 表单构建器扩展,可让您为Yii Framework 2.0构建单视图和多视图/表格形式。 该扩展包含以下小部件: 形式表格网格表格形式注意:检查以了解此扩展程序的要求和依赖性。最新发布有关更改各个版本的详细...
yii2-rbac-缓存 为 yii2 RBAC 缓存 安装 安装此扩展的首选方法是通过 。 要么跑 php composer.phar require "letyii/yii2-rbac-cached" "dev-master" 或添加 " letyii/yii2-rbac-cached " : " dev-master " 到...
基于Yii2制作的电子商城,做了挺多优化,支持PHP7. :rocket: 基于PHP7加速Yii2,使用异步以及缓存,第三方cdn来加速页面速度,让...Yii 2.0.12 MySQL >=5.5 nginx 用于网址代理解析 ElasticSearch 2.4.1 Redis 3.2.10
重要信息随着我们从单一基础架构过渡到微服务网络,并使后端与前端客户端完全分离,我们所有的Yii小部件都将停止使用。 我们鼓励您避免在CSS / HTML / Javascript中使用PHP,而转向Angular / React / Vue之类的现代...