-
use 路径\函数; use 路径\函数 as 函数名1;查看全部
-
use 路径\函数 保存默认的路径函数查看全部
-
namespace \路径查看全部
-
namespace 就是命名空间的命令查看全部
-
//清除关联查询结果缓存 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
提交
取消