在Yii2框架中,有哪些让人头疼的难题?

更新于
2026-09-16 18:29:53
32阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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(); //保存,会发现此行的其它字段都被写成默认值了。

总结问题

这个例子的问题在于:

  1. 我从数据库中取出了一行,也就是代码中的$room,但是只取出了id字段,而其他字段自然就是默认值。
  2. 当我$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(); //保存,会发现此行的其它字段都被写成默认值了。

总结问题

这个例子的问题在于:

  1. 我从数据库中取出了一行,也就是代码中的$room,但是只取出了id字段,而其他字段自然就是默认值。
  2. 当我$room->save()的时候,那些是默认值的字段也被保存到数据库里去了。
阅读全文