ActiveRecord

yii2 ActiveRecord findOne c условием LIKE -- пример кода

Проблему (добавления like условия в запрос) удалось решить, используя код, вида:

$command = static::find()->filterWhere(
  ['LIKE', 'verify_code', "$token"]
);
$User = $command->one();

yii2 mongodb ActiveRecord Сортировка

По-идее так же как и в любой эктиврекорд:

$sort = 'ASC';
$reports = Report::find()
		->where(['in', '_id', $this->report_ids])
		->orderBy("creation_data $sort")
		->all();

yii2 ->load() и ->attrubutes = ... -- Какая разница при загрузке значений, данных в ActiveRecord, Model

Что делает вызов $model->load()

load() пытается найти в переданном массива подмассив, который имеет имя. которое доложно быть у "формы" модели -- обычно это имя самой модели.

Что делает вызов $model->attributes =...

Присваивание же методом вроде:

yii2 Загрузка модели ActiveRecord из подмассива POST (или произвольного ассоцитивного массива)

В этом случае работают $comment->attribute:

if (!(($comment->attributes = Yii::$app->request->post('Comment')) 
&& $comment->validate()))
  {
       throw new UnprocessableEntityHttpException(
           'Некорректные данные комментария:' . print_r($comment->getErrors(), true));
  } 

Если, же вы хотите использовать load(), то передавайте подмассив.

yii2 Getting unknown property -- ошибка решение

Если речь идёт о mongodb, то убедитесь, что у вас данное поле указано в массиве атрибутов модели:

 public function attributes()
    {
        return [
            '_id',
          // .......
        ];
    }

Или надо указать в модели поле с таким именем.

yii2 ActiveRecord orWhere -- OR (ИЛИ) + LIKE -- пример аналога SQL запроса

Например так (используем условие ИЛИ и like):

Organization::find()
	->select(['_id', 'full_name'])
	->where(['like', 'short_name', $q])
	->orWhere(['like', 'full_name', $q])
	->orderBy('full_name')
	->asArray()
	->all())

yii2 mongodb embadded Вложенные документы (в т.ч. массив), правила, валидация -- consultnn/yii2-mongodb-embedded

consultnn/yii2-mongodb-embedded

Замечательное расширение от ребят из Нижнего Новгорода: https://github.com/consultnn/yii2-mongod...

Для чего нужен yii2-mongodb-embedded

Позволяет нормально работать с вложенными документами в монгодб в рамках ActiveRecord, назначать правила для элементов массива вложенных документов (через отдельную модель), проводить валидацию родительсткой формы "как обычно" (поля тоже генерируются просто и стандартно).

yii2 SQL Получить код запроса из метода find() модели ActiveRecord

Для получения SQL кода можно использовать такой подход:

/* Предположим, что бы такой запрос к модели,
 созданный конструктором: */
$organizationQuery = Organization::find()
	->addSelect('{{%organization}}.id')
	->filter($params)
	->addColumns($show)
	->permitted('read', $user);

// получаем текст запроса:
$sqlText = $organizationQuery->createCommand()->getRawSql(); 

Также можно отправить запрос в систему журналирования yii2 (где его и посмотреть):

Subscribe to RSS - ActiveRecord