一個 Yii + vue 專案(4)AR類簡單操作
阿新 • • 發佈:2018-12-26
在 yii home/models/ 下建一個 User.php,內容如下:
<?php
namespace app\home\models;
use yii\db\ActiveRecord;
class User extends ActiveRecord
{
}
再在 site 控制器的 test 方法呼叫:
<?php
namespace app\home\controllers;
use app\home\models\User;
use yii\filters\Cors;
use yii\helpers\ArrayHelper;
use yii\web \Controller;
class SiteController extends Controller
{
public $defaultAction = 'test';
public function behaviors()
{
return ArrayHelper::merge([
[
'class' => Cors::className(),
'cors' => [
'Origin' => ['http://vue.com' ],
'Access-Control-Allow-Credentials'=> true,
],
],
], parent::behaviors());
}
public function actionTest(){
$data = User::find()->all();
return $this->asJson($data);
}
}
結果顯示如下
這兩條資料是我隨便新增的,另外還要注意資料庫的表名(user) 要和類名(User)對上,假如類名不對應,可以用 tableName 方法定義:
<?php
namespace app\home\models;
use yii\db\ActiveRecord;
class User extends ActiveRecord
{
/**
* 返回真正的表名
* @return string
*/
public static function tableName(){
return 'user';
}
}
AR類(活動記錄)的簡單操作可以看一下這篇文章。so,這裡先寫一個簡單的驗證方法:
public function actionLogin(){
$username = Yii::$app->request->post('username');
$password = Yii::$app->request->post('password');
$data = User::find()->where(['username'=>$username])->one();
$result = $data->password == $password ? '驗證通過' : '驗證失敗';
echo $result;
}
好吧,我知道這樣寫得很low,但也只是展示一下原理而已。