ManyToManyBehavior.php
819 Bytes
<?php
namespace artbox\core\behaviors;
use yii\base\Behavior;
use yii\db\ActiveRecord;
/**
* Class ManyToManyBehavior
*
* @package artbox\catalog\behaviors
*/
class ManyToManyBehavior extends Behavior
{
/**
* @param string $name
* @param ActiveRecord[] $models
* @param array $extraColumns
*/
public function linkMany(string $name, array $models, array $extraColumns = [])
{
/**
* @var ActiveRecord $owner
*/
$owner = $this->owner;
$owner->unlinkAll($name, true);
foreach ($models as $model) {
$owner->link($name, $model, $extraColumns);
}
}
}