YII2框架的 config
文件夹中配置 db.php
,
<?php
return [
'class' => 'yii\db\Connection',
//dsn=>'数据库':host='地址,默认是本地',dbname='数据库名'
'dsn' => 'mysql:host=localhost;dbname=yii',
//账户名
'username' => 'root',
//密码
'password' => 'root',
'charset' => 'utf8',
// Schema cache options (for production environment)
//'enableSchemaCache' => true,
//'schemaCacheDuration' => 60,
//'schemaCache' => 'cache',
];
配置好之后就可以连接到数据库了,我们先去新建一个数据库yii
,在里面新建一个表 article
, 添加一点数据,如下:
,YII2框架通过 控制器
来操作 模型
,一般一个 模型
对应一个 表名
,如果需要用到活动记录,可以在这里看看方法,我们接着在 models
新建一个 article.php
文件对应表名, 接着就可以去控制器去控制这个模型了。
<?php
namespace app\models;
use yii\db\ActiveRecord;
class article extends ActiveRecord{
}
查询[ find ]
<?php
namespace app\controllers;
use yii\web\Controller;
use app\models\article;
class HomeController extends Controller{
public $layout = 'home';
public function actionIndex(){
//查询全部
// $data = article::find()->asArray()->all();
//条件查询
$data = article::find()->where(['between','id',2,10])->asArray()->all();
//单条查询
// $data = article::findOne(2);
var_dump($data);
return;
//分批处理
foreach(article::find()->asArray()->batch(2) as $article){
// echo count($article);
$data[]=$article;
}
}
}
添加[ (insert,save) ]
<?php
namespace app\controllers;
use yii\web\Controller;
use app\models\article;
class HomeController extends Controller{
public $layout = 'home';
public function actionIndex(){
$article = new article();
$article->title = '新的一条数据';
$article->num = 7;
// $rt = $article->insert();
$rt = $article->save();
var_dump($rt);
}
}
更新[ (update,save) ]
<?php
namespace app\controllers;
use yii\web\Controller;
use app\models\article;
class HomeController extends Controller{
public $layout = 'home';
public function actionIndex(){
//修改
$val = article::findOne(['id'=>8]);
$val->title='测试能不能修改2';
$f=$val->save();
// $f=$val->update();
var_dump($f);
//修改单个字段
$d = article::updateAllCounters(['num'=>1],['id'=>8]);
var_dump($d);
}
}
删除[ (delect,delectAll) ]
<?php
namespace app\controllers;
use yii\web\Controller;
use app\models\article;
class HomeController extends Controller{
public $layout = 'home';
public function actionIndex(){
//删除
$val = article::findOne(['id'=>7]);
$result = $val->delete();
//删除条件匹配的所有数据,没有传递则删除全部数据
// $result = $val->deleteAll('id>12 and num>5');
var_dump($result);
}
}