Вход Регистрация
Файл: protected/models/Category.php
Строк: 44
<?php

/**
 * Модель категории
 */
class Category extends CActiveRecord
{
    
/*
     * ID категории с новостями в базе
     */
    
const ID_NEWS 1;



        
/**
     * Returns the static model of the specified AR class.
     * @return Category the static model class
     */
    
public static function model($className=__CLASS__)
    {
        return 
parent::model($className);
    }

    
/**
     * @return string Имя таблицы
     */
    
public function tableName()
    {
        return 
'{{category}}';
    }

        
/*
         * Связь с другими таблицами
         */
        
public function relations ()
        {
            return array (
                
// Количество статей в категории
                
'postCount' => array (self::STAT'Post''id_category')
            );
        }

    
/**
     * @return array Правила валидации
     */
    
public function rules ()
    {
        return array (
                    array (
'title''required',
                        
'message' => 'Вы не ввели название категории'),
                    array (
'title''length''min' => 2'max'=>100,
                        
'tooShort' => 'Название категории должно быть не короче 2 символов',
                        
'tooLong' => 'Название категории должно быть не длиннее 100 символов'),
                    
                    array (
'about''default''value' => NULL),
                    array (
'about''length''max'=>150,
                        
'tooLong' => 'Описание категории должно быть не длиннее 150 символов'),
        );
    }

    
/**
     * Загрузка списка категорий
     * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
     */
    
public function loadCategories()
    {
        
$criteria = new CDbCriteria (array (
                    
// Загружаем все, кроме категории новостей
                    //'condition' => '`id` != :id_news',
                    //'params' => array (':id_news' => self::ID_NEWS),

                    // Количество статей в категории
                    
'with' => array (
                        
'postCount'
                    
),
                    
'order' => '`id` DESC'
                
));
                return new 
CActiveDataProvider(get_class($this), array(
            
'criteria'=>$criteria,
        ));
    }
}
Онлайн: 2
Реклама