在Yii2框架中,有哪些让人头疼的难题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2243个文字,预计阅读时间需要9分钟。
闲聊之余,远离上次写博客,已过去一年了。在动手写之前,总是带着深深的罪恶感。被它折磨许久了,最终还是,动笔了。值得庆幸的一件事:最近开始健身了。每天动感单车45分钟。
说点闲话
距离上次写博客,已经有一年了。在动手写之前,总是带着深深的罪恶感。被它折磨许久,终于,还是,动手了。
值得庆祝的一件事:最近开始健身了。每天动感单车45分钟,游泳45分钟,真的是(生)爽(不)到(如)爆(死)。
好了,扯淡完毕,步入正题。
ActiveRecord被莫名写入?
准备知识
ActiveRecord的基本用法。如果不理解,可参考这里。
代码现场
/** * @property integer $id * @property string $name * @property string $detail * @property double $price * @property integer $area **/ class OcRoom extends ActivieRecord { ... } $room = OcRoom::find() //先取出一个对象。 ->select(['id']) //只取出'id'列 ->where(['id'=>20]) ->one(); $room->save(); //保存,会发现此行的其它字段都被写成默认值了。
总结问题
这个例子的问题在于:
- 我从数据库中取出了一行,也就是代码中的$room,但是只取出了id字段,而其他字段自然就是默认值。
- 当我$room->save()的时候,那些是默认值的字段也被保存到数据库里去了。
本文共计2243个文字,预计阅读时间需要9分钟。
闲聊之余,远离上次写博客,已过去一年了。在动手写之前,总是带着深深的罪恶感。被它折磨许久了,最终还是,动笔了。值得庆幸的一件事:最近开始健身了。每天动感单车45分钟。
说点闲话
距离上次写博客,已经有一年了。在动手写之前,总是带着深深的罪恶感。被它折磨许久,终于,还是,动手了。
值得庆祝的一件事:最近开始健身了。每天动感单车45分钟,游泳45分钟,真的是(生)爽(不)到(如)爆(死)。
好了,扯淡完毕,步入正题。
ActiveRecord被莫名写入?
准备知识
ActiveRecord的基本用法。如果不理解,可参考这里。
代码现场
/** * @property integer $id * @property string $name * @property string $detail * @property double $price * @property integer $area **/ class OcRoom extends ActivieRecord { ... } $room = OcRoom::find() //先取出一个对象。 ->select(['id']) //只取出'id'列 ->where(['id'=>20]) ->one(); $room->save(); //保存,会发现此行的其它字段都被写成默认值了。
总结问题
这个例子的问题在于:
- 我从数据库中取出了一行,也就是代码中的$room,但是只取出了id字段,而其他字段自然就是默认值。
- 当我$room->save()的时候,那些是默认值的字段也被保存到数据库里去了。

