1.model中models/article.php
1 2
3 namespace app\models;
4
5 use Yii;
6
7 /**
8 * This is the model class for table "yii2_article".
9 *
10 * @property string $id
11 * @property integer $category_id
12 * @property string $title
13 * @property string $image
14 * @property string $content
15 * @property string $create_at
16 * @property string $updata_at
17 */
18 class Article extends \yii\db\ActiveRecord
19 {
20 /**
21 * @inheritdoc
22 */
23 public static function tableName() 24 { 25 return 'yii2_article'; 26 } 27 28 /** 29 * @inheritdoc 30 */ 31 public function rules() 32 { 33 return [ 34 [['category_id'], 'integer'], 35 [['desc','content'], 'string'], 36 [['create_at', 'updata_at'], 'safe'], 37 [['title'], 'string', 'max' => 50], 38 [['image'], 'string', 'max' => 100] 39 ]; 40 } 41 42 /** 43 * @inheritdoc 44 */ 45 public function attributeLabels() 46 { 47 return [ 48 'id' => 'ID', 49 'category_id' => '栏目', 50 'title' => '标题', 51 'desc' => '描述', 52 'image' => '封面图片', 53 'content' => '内容', 54 'create_at' => '创建日期', 55 'updata_at' => '修改日期', 56 ]; 57 } 58 59 //根据文章查询栏目的信息,hasOne()因为一个文章只属于一个栏目,一比一的方法 60 public function getArticleCategory(){ 61 return $this->hasOne(ArticleCategory::className(),['id'=>'category_id']); 62 } 63 }
2.控制器中ArticleController.php
1 2
3 namespace app\controllers;
4
5 use Yii;
6 use app\models\Article;
7 use yii\data\ActiveDataProvider;
8 use yii\db\Query;
9 use yii\web\Controller;
10 use yii\web\NotFoundHttpException;
11 use yii\data\Pagination;
12 class ArticleController extends Controller
13 { //public $layout="main";
14 public function actionIndex()
15 {
16 $article = Article::find();
17 $articleCount = clone $article;
18
19 $pageSize = 5;
20
21 $pages =new Pagination([
22 'totalCount'=>$articleCount->count(),
23 'pageSize'=>$pageSize
24 ]) ;
25
26 $models = $article->offset($pages->offset)
27 ->limit($pages->limit)
28 ->orderBy('id DESC')
29 ->all();
30
31 return $this->render('index',[
32 'models'=>$models,
33 'pages'=>$pages
34 ]);
35 }
36 }
3.视图中view/article/index.php
1 2 /**
3 * Created by PhpStorm.
4 * User: moka同学
5 * Date: 2016/07/22
6 * Time: 11:13
7 */
8 use yii\widgets\LinkPager;
9 use \yii\helpers\Url;
10 ?>
11 12 foreach ($models as $model) {
13 ?>
14
15
16 $model->id]);?>" class="not-set">= $model->title ?>
17
18
19
20 = $model->create_at ?>
21
22
23 = isset($model->image) ? "
24
25
26
27
28
29 = LinkPager::widget([
30 'pagination' => $pages,
31 'options' => [
32 'class' => 'pagination',
33 ]
34 ]) ?>
35
这个是很基础的model使用,如有不对,请联系我。QQ1727728211