как подсчитать кол-во записей в модели

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
espltdmh50
Сообщения: 569
Зарегистрирован: 2014.04.29, 19:14

как подсчитать кол-во записей в модели

Сообщение espltdmh50 »

доброго дня! Подскажите плиз, надо подсчитать записи. Делал так. При вызове count () Call to a member function count() on a non-object. Как быть?

Код: Выделить всё

$query = (new \yii\db\Query())
        ->select('*')
        ->from('logs')
        ->where(['id_log'=>$oper_id, 'confirm'=>1, 'operator'=>(int)$this->operator['id_operators'], 'card'=>(int)$card_row['id_bonus']]);
                  
    $command = $query->createCommand();
    $opearation_count = $command->queryAll()->count();


И правильно ли я делаю where с нексолькими условиями ????

Код: Выделить всё

->where(['id_log'=>$oper_id, 'confirm'=>1, 'operator'=>(int)$this->operator['id_operators'], 'card'=>(int)$card_row['id_bonus']]);
 
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: как подсчитать кол-во записей в модели

Сообщение chungachguk »

http://www.yiiframework.com/doc-2.0/yii ... t()-detail

Код: Выделить всё

$query = (new \yii\db\Query())
        ->select('*')
        ->from('logs')
        ->where(['id_log'=>$oper_id, 'confirm'=>1, 'operator'=>(int)$this->operator['id_operators'], 'card'=>(int)$card_row['id_bonus']])
        ->count();                  
или

Код: Выделить всё

$query = (new \yii\db\Query())
        ->select('*')
        ->from('logs')
        ->where(['id_log'=>$oper_id, 'confirm'=>1, 'operator'=>(int)$this->operator['id_operators'], 'card'=>(int)$card_row['id_bonus']])
        ->all();                  
$count = count($query);
 
espltdmh50
Сообщения: 569
Зарегистрирован: 2014.04.29, 19:14

Re: как подсчитать кол-во записей в модели

Сообщение espltdmh50 »

А правильно ли я делаю where с несколькими параметрами?
espltdmh50
Сообщения: 569
Зарегистрирован: 2014.04.29, 19:14

Re: как подсчитать кол-во записей в модели

Сообщение espltdmh50 »

Просто надо аналогичную запись переработать. Написано для codeigniter

$this->db->where('id_log' ,$oper_id);
$this->db->where('confirm' ,0);
$this->db->where('operator' ,(int)$this->operator['id']);
$this->db->where('card' ,(int)$card_row['id']);
$opearation_count = (int)$this->db->count_all_results('log');
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: как подсчитать кол-во записей в модели

Сообщение chungachguk »

espltdmh50 писал(а):А правильно ли я делаю where с несколькими параметрами?
нормально
espltdmh50
Сообщения: 569
Зарегистрирован: 2014.04.29, 19:14

Re: как подсчитать кол-во записей в модели

Сообщение espltdmh50 »

Еще вопрос. Подскажите пожалуйста.

Yii::$app->db->createCommand()->update('log_bonus', ['confirm'=>1], 'WHERE id_log_bonus='.$oper_id)->execute();
Не срабатывает обновление поля! Не понимаю почему
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: как подсчитать кол-во записей в модели

Сообщение chungachguk »

espltdmh50 писал(а):Еще вопрос. Подскажите пожалуйста.

Yii::$app->db->createCommand()->update('log_bonus', ['confirm'=>1], 'WHERE id_log_bonus='.$oper_id)->execute();
Не срабатывает обновление поля! Не понимаю почему
Документацию совсем не хочется читать?
Третий параметр
http://www.yiiframework.com/doc-2.0/yii ... e()-detail
должен быть в таком виде
http://www.yiiframework.com/doc-2.0/yii ... e()-detail
espltdmh50
Сообщения: 569
Зарегистрирован: 2014.04.29, 19:14

Re: как подсчитать кол-во записей в модели

Сообщение espltdmh50 »

документацию хочется читать, вы что. Просто порой найти нужное не получается(
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: как подсчитать кол-во записей в модели

Сообщение ElisDN »

espltdmh50 писал(а):Просто порой найти нужное не получается(
Если читать всю, то всё находится.
Ответить