YII场景】的更多相关文章

YII在模型中定义场景后 public function scenarios(){//场景 return [ 'sco1'=>['aid','uphone'], 'sco2'=>['aid','uphone','status'], ]; } 在控制器中调用场景时,场景定义之外的字段会在操作时被过滤掉 public function actionSenorio(){ $test = new Code(); $test->scenario = "sco1"; $testD…
给个意见或建议吧 扩展一个Model基类 <?php class BaseModel extends Model{ use ValidationRules; public function rules(){} } /** * 验证参数规则 */ trait ValidationRules{ public $_data; public $errors = []; // 验证产生的错误 public $scene = 'default'; // 场景 ['update','create'] priv…
先上代码 class User extends CActiveRecord{    public function rules()    {        return array(            array('username, email', 'required'),            array('password, confirm_password', 'required', 'on'=>'create'),            array('username', 'uni…
定义场景可以限制对字段的增删改查操作…
1.在 model 里面定义一下场景 类名必须是 scenarios() public function scenarios() { return [ 'create' => ['title', 'image', 'content'], 'update' => ['title', 'content'], ]; } 2.下面我们设置 rules() ,调用场景我们用 on 关键字 [['title', 'content'], 'required', 'on' => ['create', '…
控制器: public function actionTests1(){ $c = new \app\components\cat(); $m = new \app\components\mou; $g = new \app\components\dog; Event::on(\app\components\cat::className(),'miao',[$m,'run']); // Event::on(cat::className(),'miao',function(){echo 11;})…
摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.ar 在官网原文的基础上添加了CDbCriteria的详细用法. 虽然 Yii DAO 可以处理几乎任何数据库相关的任务, 但很可能我们会花费 90% 的时间以编写一些执行普通 CRUD(create, read, update 和 delete)操作的 SQL 语句. 而且我们的代码中混杂了SQL语句时也会变得难以维护.要解决这些问题,我们可以使用 Active R…
摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.dao Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一的统一的接口可以访问不同的数据库管理系统(DBMS).使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系统,而不需要修改数据访问代码. 数据访问对象(DAO) 对访问存储在不同数据库管理系统(DBMS)中的数据提…
背景: 对于一个大公司拥有多个分公司的应用场景下,我们通常需要配置多个sub-database(子数据库)来存储不同的数据纪录. 配置步骤: 1.在application骨架里面的主配置文件main.php的索引为components中新增一个'db2'=>array(//todo the code stub.); 例如: // application components 'components'=>array( 'db'=>array( 'connectionString' =>…
场景 一个模型可能在多个场景中使用,在不同的场景中,模型可能使用不同的业务逻辑和规则.例如, User 模型可能在用户登录时使用,也可能在用户注册时使用,某些属性可能在用户注册时强制要求有,在用户登录时不需要,例如email属性. 模型使用 yii\base\Model::scenario 属性保持使用场景的跟踪, 默认情况下,模型支持一个名为 default 的场景, 两种设置场景的方法: //场景作为属性来设置 $model = new User; $model -> scenario =…