Open wuye1200 opened 6 years ago
use app\models\Test;
$id= '1 or 1=1';
$sql = 'select * from test where id = 1';
$results = Test::findBySql()->all();
$results = Test::find()->where({'id'=>1})->all();
$results = Test::find()->where(['>','id',0])->all();//id>0
$results = Test::find()->where(['between','id',1,2])->all();// 1-2之间
$results = Test::find()->where(['like','title','title1'])->all();// title like %title1%
//查询结果转化成数组 降低内存使用率 对象比数组大 asArray()
$results = Test::find()->where(['between','id',1,2])-> asArray()->all()
//批量查询 每次只拿2条数据
foreach(Test::find()->batch(2) ad $tests){
}
$test = new Test;
$test->id = 3;
$test->title = 'title3';
$test->validata();//验证数据
if($test->hasErrors){
echo'数据格式不正确';
die
}
$test->save()
$test =Test::find()->where(['id'=>4]).one();
$test->title = 'title4';
$test->save()
$customer = Customer::find()->where(['name'=>'zhangsan'])->one();
$orders = $customer->hasMany(Order::className(),['customer_id'=>'id'])->asArray()->all();
$orders = $customer->getOrders();
$orders = $customer->orders;
数据模型
模型创建