Найти аналог allbypk в Yii2

#yii #yii2

#yii #yii2

Вопрос:

Как я могу написать запрос для ActiveRecord, который будет аналогом функции findAllByPk в yii?

Я пробовал это:

 $records = TableName::find($ids)->all();
  

Но это не работает, возвращает все записи.

Ответ №1:

Если $ids — это массив, если первичным ключам нравится [1, 3, 5, 23] . Вы можете использовать это

 $entries = TableName::findAll($ids);
  

Это сокращенный вариант для этого синтаксиса

 $entries = TableName::find()
                   ->where(['id'=>$ids])
                   ->all();
  

Ответ №2:

Предполагается $ids , что это массив,

 $entries = TableName::find()
                ->where(['id'=>$ids])
                ->all();
  

Еще много примеров в официальных документах.

Комментарии:

1. вы пропустили квадратную закрывающую скобку в where аргументе метода