48 lines
1.2 KiB
PHP
48 lines
1.2 KiB
PHP
<?php
|
|
namespace app\models;
|
|
|
|
use yii\base\BaseObject;
|
|
|
|
/**
|
|
* Class ProjectsPartner
|
|
* @package app\models
|
|
* @property $id
|
|
* @property $project_id
|
|
* @property $partner_id
|
|
*/
|
|
class ProjectsPartner extends _Base {
|
|
|
|
public static function updateRecords($ids, $data) {
|
|
|
|
$related = self::find()->where([$data[1] => $data[2]])->all();
|
|
$remain = [];
|
|
foreach ($related as $cto) {
|
|
if(in_array($cto->id, $ids)) {
|
|
$remain[] = $cto->id;
|
|
} else {
|
|
$cto->delete();
|
|
}
|
|
}
|
|
foreach ($ids as $id) {
|
|
if(!in_array($id, $remain)) {
|
|
$newCto = new self();
|
|
$newCto->{$data[1]} = $data[2];
|
|
$newCto->{$data[0]} = $id;
|
|
$newCto->save();
|
|
}
|
|
}
|
|
}
|
|
|
|
public static function appendPartner($partner_id, $project_id) {
|
|
|
|
$related = self::find()->where(['partner_id' => $partner_id, 'project_id' => $project_id])->one();
|
|
|
|
if(!$related) {
|
|
$newCto = new self();
|
|
$newCto->partner_id = $partner_id;
|
|
$newCto->project_id = $project_id;
|
|
$newCto->save();
|
|
}
|
|
}
|
|
}
|