Для прокидывания объекта yiidbConnection
в связи ActiveRecord
вам потребуется выполнить следующие шаги:
1. Создайте свой класс BaseModel
, который будет расширять yiidbActiveRecord
. В этом классе вы можете определить метод getDb
, в котором будет происходить передача объекта yiidbConnection
:
use yiidbConnection; class BaseModel extends yiidbActiveRecord { /** * @return Connection the DB connection used by this AR class. */ public static function getDb() { return Yii::$app->db; } }
2. Теперь, вместо расширения yiidbActiveRecord
вы будете расширять ваш класс BaseModel
для ваших моделей. Например:
class User extends BaseModel { // ... }
3. После выполнения этих шагов, вы можете использовать связанные методы ActiveRecord (например, find()
, findOne()
, all()
, one()
и т.д.) для выполенния запросов к базе данных.
Пример использования:
$users = User::find()->all(); foreach ($users as $user) { echo $user->username . '<br>'; }
В этом примере, мы используем статический метод find()
модели User
для получения всех записей из таблицы user
. Затем, мы проходим по каждому объекту User
и выводим его username
.
Теперь, всякий раз, когда вы будете использовать методы ActiveRecord, они будут использовать экземпляр yiidbConnection
, который был прокинут через BaseModel
. Это позволяет вам гибко управляться соединениями к базе данных в вашем приложении Yii.