I create custom function and filtration option stopped work (ignore get parameter "fields").
I found that the cause of the problem in model query.
User::find($id);
work ok, but
Users::find()->where(['user_id' => $ids])->all();
no. How to resolve this problem?
Controller:
class UsersController extends \yii\rest\ActiveController
{
public $modelClass = 'api\modules\v1\models\Users';
public function actionGet()
{
if(Yii::$app->request->get('ids')) {
$ids = explode(',', Yii::$app->request->get('ids'));
return Users::find()->where(['user_id' => $ids])->all();
}
return;
}
}
Model:
class Users extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'information';
}
public function fields()
{
$fields = parent::fields();
return [
'id' => 'user_id',
'avatar' => function () {
return ImageLocation::url($this->avatar);
},
'avatar_medium' => function () {
return ImageLocation::url($this->avatar, 'medium');
},
'avatar_small' => function () {
return ImageLocation::url($this->avatar, 'small');
},
] + $fields;
}
}