首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Yii 2 框架核心知識點速查筆記

     編輯:PHP 相關知識

Yii 2 框架核心知識點速查筆記

本文整理了 Yii 2 開發中高頻使用的配置、模型、查詢、分頁、資料庫操作等核心語法,適合作為開發時的快速參考卡片。

配置

// 表前綴設置
'tablePrefix' => 'tbl_',

模型定義

namespace app\models;
use yii\db\ActiveRecord;

class Article extends ActiveRecord {
    public static function tableName() {
        return '{{%article}}'; // 自動套用 tablePrefix
    }
}

分頁查詢

use yii\data\Pagination;

$query = Article::find()->where(['status' => 1]);
$pages = new Pagination(['totalCount' => $query->count(), 'pageSize' => 20]);
$articles = $query->offset($pages->offset)
                  ->limit($pages->limit)
                  ->all();

常用查詢方法速查

方法說明返回類型
all()查詢所有結果ActiveRecord[]
one()查詢單條記錄ActiveRecord|null
count()統計數量int
average('col')平均值float
min('col') / max('col')最小/最大值mixed
scalar()第一行第一列的值mixed
column()所有結果第一列組成的數組array
each(100)批量迭代,防止內存溢出Generator

資料庫寫操作(命令模式)

// 新增
Yii::$app->db->createCommand()
    ->insert('article', ['title' => '標題', 'content' => '內容'])
    ->execute();

// 修改
Yii::$app->db->createCommand()
    ->update('article', ['status' => 1], 'id = 1')
    ->execute();

// 刪除
Yii::$app->db->createCommand()
    ->delete('article', 'id = 1')
    ->execute();

進階技巧

  • 使用 ActiveRecord::find()->select(['id', 'title']) 只查詢所需欄位,減少內存佔用。
  • 關聯查詢:hasMany()、hasOne() 定義關係,配合 with() 預載入避免 N+1 問題。
  • 事務操作:Yii::$app->db->transaction(function() { ... }) 自動提交/回滾。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved