У меня есть две таблицы, которые связаны непосредственно друг с другом. Одна из них - стандартная таблица пользователей Yii2 (сокращенный список полей здесь для ясности), а другая - таблица сотрудников, которая содержит user_id. Как создать глобально доступную переменную (и фактический код для доступа к идентификатору сотрудника), который я могу использовать в любом месте моего приложения, которое даст мне идентификатор сотрудника в журнале и как я могу назвать эту переменную? Хотел бы я сказать, что я пробовал несколько вещей, но, к сожалению, я относительно новичок в Yii2 и понятия не имею, с чего начать с глобальных переменных, подобных этому. Спасибо за любую помощь.Yii2 Как создать глобально доступную переменную, которая преобразует идентификатор пользователя в идентификатор сотрудника
пользователь таблица:
идентификатор
имя пользователя
пароль
т.д.
работник стол:
идентификатора
user_id (связанный в отношении один к одному к столу пользователя)
Модель сотрудника:
<?php
namespace frontend\models\base;
use Yii;
/**
* This is the base model class for table "employee".
*
* @property integer $id
* @property integer $user_id
*
* @property \common\models\User $user
*/
class Employee extends \yii\db\ActiveRecord
{
public function rules()
{
return [
[['user_id', 'required'],
[['user_id'], 'integer'],
[['user_id'], 'unique']
];
}
public static function tableName()
{
return 'employee';
}
public function attributeLabels()
{
return [
'id' => Yii::t('app', 'ID'),
'user_id' => Yii::t('app', 'User ID'),
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getUser()
{
return $this->hasOne(\common\models\User::className(), ['id' => 'user_id']);
}
}
Это предложение элегантно, просто и отлично работает для меня. Спасибо. – Marko