为了账号安全,请及时绑定邮箱和手机立即绑定

Yii框架不得不说的故事—基础篇(1)

withy PHP开发工程师
难度中级
时长 2小时39分
学习人数
综合评分9.67
176人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.4 逻辑清晰
  • use 路径\函数; use 路径\函数 as 函数名1;
    查看全部
    0 采集 收起 来源:命名空间

    2016-05-11

  • use 路径\函数 保存默认的路径函数
    查看全部
    0 采集 收起 来源:命名空间

    2016-05-11

  • namespace \路径
    查看全部
    0 采集 收起 来源:命名空间

    2016-05-11

  • namespace 就是命名空间的命令
    查看全部
    0 采集 收起 来源:命名空间

    2016-05-11

  • //清除关联查询结果缓存 unset($customer->orders); //关联查询的时候涉及到性能问题。 $customers=Customer::find()->all();//执行的sql语句为:select * from Customer; $custome=Customer::find()->with('orders')->all(); //执行的sql语句为:select * from Customer;select * from Order where customer_id in(...); //加上with('order')这时候遍历的时候就不需要再执行sql语句 foreach($customers as $customer){ $orders=$customer->orders; }
    查看全部
  • class Order extends ActiveRecord{ //根据订单查询顾客的信息 public function getCustomer(){ return $this->hasOne(Customer::className(),['id'=>'customer_id'])->asArray(); } }
    查看全部
  • class Customer extends ActiveRecord{ //帮助顾客获取订单信息 public function getOrders(){ $orders = $this->hasMany(Order::className(),['customer_id'=>'id'])->asArray()->all(); return $orders; } }
    查看全部
  • //关联查询 //根据顾客查询订单的信息 //one()方法返回一个对象 //'frontend\models\Order'可以通过Order::className()来获取 // $customer = Customer::find()->where(['name'=>'zhangsan'])->one(); // // $orders = $customer->hasMany(Order::className(),['customer_id'=>'id'])->asArray()->all(); // $orders = $customer->getOrders(); // print_r($orders); //根据订单查询顾客的信息 $order = Order::find()->where(['id'=>1])->one(); $customer = $order->customer; print_r($customer);
    查看全部
  • class Test extends ActiveRecord{ //数据验证器 //id是整数,且title长度小于5 public function rules(){ return [ ['id','integer'], ['title','string','length'=>[0,5]] ]; } }
    查看全部
  • //增加数据 $test = new Test; $test->id = 3; $test->title = 'title3'; $test->validate(); if($test->hasErrors()){ echo 'data is error!'; die; } $test->save();//将数据保存到数据库中
    查看全部
  • //删除数据 // $res = Test::find()->where(['id'=>1])->all(); // $res[0]->delete(); Test::deleteAll('id>:id',array(':id'=>0));
    查看全部
  • public function actionAbout(){//定义了一个About操作 return $this->render("hehe");//渲染hehe这个视图 } public function actionIndex(){//定义了一个index操作 //查询数据 // $sql = 'select * from test where id=1'; // $result = Test::findBySql($sql)->all(); // id>0 // $results = Test::find()->where(['>','id',0])->all(); // id>=1并且id<=2 // $results = Test::find()->where(['between','id',1,2])->all(); // title like "%title%" // $results = Test::find()->where(['like','title','title'])->all(); // 将查询结果转化成数组 // $results = Test::find()->where(['between','id',1,2])->asArray()->all(); // 批量查询 // batch(1) 表示每次拿几条数据 foreach(Test::find()->batch(1) as $tests){ print_r(count($tests)); } // print_r($results); }
    查看全部
  • 1.ActiveRecord(活动记录类)<br> (1)方法:findBySql()继承之父类的,结果返回一个对象(放在数组当中)<br> 2.SQL入侵<br> (1)占位符:(:id),加载Sql语句后面<br> (2)在findBySql($sql,array())数组中赋值。由于array()会把用户传递过来的值作为一个整体去处理,<br> (3)findBySql防止SQL注入<br> // $sql='select * from Test where id=:id ';<br> // $result=Test::findBySql($sql,array(':id'=>2))->asArray()->all();//findBySql第二个参数设置占位符<br> <br> $sql='select * from Test where id=:id ';<br> $result=Test::find($sql)->where(['id'=>3])->asArray()->all();//findBySql第二个参数设置占位符<br> p($result); //id>0 /*$results = Test::find()->where(['>','id',0])->all(); print_r($results);*/ //id>=1 and id<=2 //$results = Test::find()->where(['between','id',1,2])->all(); //echo count($results); //title like '%title%' //$results=Test::find()->where(['like','title','title'])->all(); //print_r($results); //将查询结果转换成数组 // $results=Test::find()->where(['like','title','title'])->asArray()->all(); //批量查询 foreach ($Test::find()->batch(2) as $value) { # code... } print_r($results);
    查看全部
  • 两个内容: 在一个请求的生命周期中,调用了$customer->orders后,此属性会被缓存;可以强制刷新可以使用unset; 多次执行sql: 每次调用未缓存的属性,都会执行一次sql,如果存在循环,就会多次执行;可以使用 Customer::find()->where(...)->with('orders') 解决
    查看全部
  • yii框架里的操作都以action开头
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、对MVC开发方式有一定的了解
老师告诉你能学到什么?
1、php的新特征 2、一款前沿的框架的使用方式 3、新颖独到的程序设计

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!