Задать вопрос
@MaoCzedun

Получений всех записей таблицы Yii2?

Вообщем суть вопроса такова , каким образом в Yii2 получить все записи таблицы для dataProvider , в Yii1 можно было сделать так findAll() модели , после чего дать это CArrayDataProvider , или CActiveDataProvider по умолчания тянул все данные из таблицы , как это сделать в Yii2
Вот AR модели

<?php

namespace app\models;
//   использовать    геттеры для  отоншений  между  объектами
class User extends \yii\db\ActiveRecord
{
    /*
     * @property integer $id
     * @property string $firstName
     * @property string $lastName
     * @property string $position
     * @property string $password
     * @property string $email
     */
//   Функция для  отношения с таблицей tasks 
//    public function getTasks()
//    {
//        
//    }
    public $captcha;
    public function scenarios() {
        return[
            'login'=>[
                'email','password'
            ],
//            insert - сценарий для  базы данных  
            'register'=>[
                'firstName','lastName','position','email','password'
            ],
            'edit'=>[
                'position'
            ],
            
        ];
    }
    public static function tableName() {
        return 'users';
    }
    public function rules() {
        return [
            [['firstName','lastName','position','email','password'],'required','on'=>'register'],
            [['email','password'],'required','on'=>'login'],
            [['email'],'email'],
            [['password'],'string','min'=>6,'max'=>32,'tooLong'=>'Пароль слишком длиный','tooShort'=>'Пароль слишком короткий'],
            [['captcha'],'required','on'=>'register'],
            [['captcha'],'captcha','on'=>'register'],
            
        ];
    }
    public function attributeLabels() {
        return [
            'firstName'=>'Имя',
            'lastName'=>'Фамилия',
            'email'=>'электронный  адресс',
            'password'=>'пароль',
            'position'=>'должность',
            'id'=>'id пользователя',
        ];
    }
}
  • Вопрос задан
  • 2524 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@matperez
Сам не пробовал, но, возможно, получится, если указать провайдеру размер страницы по количеству всех возможных записей...
$count = User::find()->count();
$provider = new ActiveDataProvider([
            'query' => User::find(),
            'pagination' => [
                'pageSize' => $count,
            ],
]);
Ответ написан
Комментировать
@kucheriavij
Тут сто пудов есть https://github.com/yiisoft/yii2/blob/master/docs/g...
Ответ написан
Комментировать
@LAV45
Рас
$users = new ArrayDataProvider([
    'allModels' => User::find()->asArray()->all(),
    'pagination' => false,
    'key' => 'id',
]);


Двас
$users = new ActiveDataProvider([
    'query' => User::find(),
    'pagination' => false,
]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы