Как правильно работать с БД в Yii2 без ActiveRecords? Приветствую всех. Собственно вопрос прозвучал в заголовке. ActiveRecords не использую из-за низкой производительности (по данным из блогов рунета) и другой логики использования моделей. На мой взгляд, в моделях должна быть сосредоточена основная логика приложения, однако модель не должна жестко привязываться к таблице в БД. Так как с фреймворком познакомился лишь недавно, многого еще не знаю, однако чувствую некую перегруженность возможностей что-ли. Сейчас использую конструкцию (new Query())для Select`ов, однако конструкцияYii::$app->db->createCommand() для выполнения Update не отрабатывает корректно. Возможно есть класс-helper для работы с БД в Yii2 "привычным" способом. Конечно, мне даже немного стыдно что я не знаю таких простых вещей, однако все когда-то встречались с этим впервые.
Для работы с БД в Yii2 без ActiveRecords, можно использовать классы QueryBuilder и Command, которые предоставляют более низкоуровневый доступ к базе данных.
Для выполнения запросов типа SELECT можно использовать QueryBuilder, который предоставляет удобный интерфейс для создания SQL-запросов. Например:
Также стоит упомянуть о том, что в Yii2 можно использовать DAO (Data Access Objects) для работы с базой данных. DAO предоставляет простой интерфейс для выполнения запросов и обработки результатов.
Надеюсь, это поможет вам правильно работать с БД в Yii2 без использования ActiveRecords. В любом случае, выбор метода работы с базой данных зависит от ваших предпочтений и требований проекта.
Для работы с БД в Yii2 без ActiveRecords, можно использовать классы QueryBuilder и Command, которые предоставляют более низкоуровневый доступ к базе данных.
Для выполнения запросов типа SELECT можно использовать QueryBuilder, который предоставляет удобный интерфейс для создания SQL-запросов. Например:
$query = (new Query())->select(['id', 'username'])
->from('user')
->where(['status' => 1])
->orderBy('username');
$users = $query->all();
Для выполнения запросов типа UPDATE, INSERT, DELETE можно использовать класс Command:
Yii::$app->db->createCommand()->update('user', ['status' => 2], 'id = 1')
->execute();
Также стоит упомянуть о том, что в Yii2 можно использовать DAO (Data Access Objects) для работы с базой данных. DAO предоставляет простой интерфейс для выполнения запросов и обработки результатов.
Надеюсь, это поможет вам правильно работать с БД в Yii2 без использования ActiveRecords. В любом случае, выбор метода работы с базой данных зависит от ваших предпочтений и требований проекта.