Alban Jubert
9 years ago
2 changed files with 83 additions and 0 deletions
@ -0,0 +1,81 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace tests\models; |
||||||
|
|
||||||
|
use lhs\Yii2SaveRelationsBehavior\SaveRelationsBehavior; |
||||||
|
|
||||||
|
class ProjectNoTransactions extends \yii\db\ActiveRecord |
||||||
|
{ |
||||||
|
/** |
||||||
|
* @inheritdoc |
||||||
|
*/ |
||||||
|
public static function tableName() |
||||||
|
{ |
||||||
|
return 'project'; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @inheritdoc |
||||||
|
*/ |
||||||
|
public function behaviors() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
'saveRelations' => [ |
||||||
|
'class' => SaveRelationsBehavior::className(), |
||||||
|
'relations' => ['company', 'users', 'links'] |
||||||
|
], |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @inheritdoc |
||||||
|
*/ |
||||||
|
public function rules() |
||||||
|
{ |
||||||
|
return [ |
||||||
|
[['name', 'company_id'], 'required'], |
||||||
|
[['name'], 'unique', 'targetAttribute' => ['company_id', 'name']], |
||||||
|
]; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @return \yii\db\ActiveQuery |
||||||
|
*/ |
||||||
|
public function getCompany() |
||||||
|
{ |
||||||
|
return $this->hasOne(Company::className(), ['id' => 'company_id']); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @return \yii\db\ActiveQuery |
||||||
|
*/ |
||||||
|
public function getProjectUsers() |
||||||
|
{ |
||||||
|
return $this->hasMany(ProjectUser::className(), ['project_id' => 'id']); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @return \yii\db\ActiveQuery |
||||||
|
*/ |
||||||
|
public function getUsers() |
||||||
|
{ |
||||||
|
return $this->hasMany(User::className(), ['id' => 'user_id'])->via('projectUsers'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @return \yii\db\ActiveQuery |
||||||
|
*/ |
||||||
|
public function getProjectLinks() |
||||||
|
{ |
||||||
|
return $this->hasMany(ProjectLink::className(), ['project_id' => 'id']); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @return \yii\db\ActiveQuery |
||||||
|
*/ |
||||||
|
public function getLinks() |
||||||
|
{ |
||||||
|
return $this->hasMany(Link::className(), ['language' => 'language', 'name' => 'name'])->via('projectLinks'); |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue