You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.3 KiB
59 lines
1.3 KiB
<?php |
|
|
|
namespace tests\models; |
|
|
|
use lhs\Yii2SaveRelationsBehavior\SaveRelationsBehavior; |
|
|
|
class User extends \yii\db\ActiveRecord |
|
{ |
|
/** |
|
* @inheritdoc |
|
*/ |
|
public static function tableName() |
|
{ |
|
return 'user'; |
|
} |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function behaviors() |
|
{ |
|
return [ |
|
'saveRelations' => [ |
|
'class' => SaveRelationsBehavior::className(), |
|
'relations' => ['userProfile' => ['cascadeDelete' => true], 'company'] |
|
], |
|
]; |
|
} |
|
|
|
/** |
|
* @inheritdoc |
|
*/ |
|
public function rules() |
|
{ |
|
return [ |
|
['company_id', 'integer'], |
|
['username', 'required'], |
|
['username', 'unique', 'targetClass' => '\tests\models\User'], |
|
[['company_id'], 'exist', 'skipOnError' => true, 'targetClass' => Company::className(), 'targetAttribute' => ['company_id' => 'id']], |
|
]; |
|
} |
|
|
|
/** |
|
* @return \yii\db\ActiveQuery |
|
*/ |
|
public function getUserProfile() |
|
{ |
|
return $this->hasOne(UserProfile::className(), ['user_id' => 'id']); |
|
} |
|
|
|
/** |
|
* @return \yii\db\ActiveQuery |
|
*/ |
|
public function getCompany() |
|
{ |
|
return $this->hasOne(Company::className(), ['id' => 'company_id']); |
|
} |
|
|
|
}
|
|
|