[![введите сюда описание изображения][1]][1]Есть таблица Traffic c полями way_id и time_start. Необходимо чтобы при добавлении новой записи в поле time_start, выполнялась проверка по двум условиям, есть ли в таблице запись с таким же way_id, если есть то время должно быть в пределах больше time_start + 5 мин.
public $time_start_field_name;
public $time_offset_min;
public $time;
public $w_id;
public $t_offset;
public $t_start;
public function rules()
{
return [
[['st_start', 'st_finish', 'train_id', 'way_id',/* 'date',*/ 'time_start'], 'required', 'message' => 'Должно быть заполнено'],
[['st_start', 'st_finish', 'train_id', 'way_id'], 'integer'],
[[/*'date', */'time_start'], 'safe'],
[['st_start'], 'exist', 'skipOnError' => true, 'targetClass' => Station::className(), 'targetAttribute' => ['st_start' => 'id']],
[['st_finish'], 'exist', 'skipOnError' => true, 'targetClass' => Station::className(), 'targetAttribute' => ['st_finish' => 'id']],
[['way_id'], 'exist', 'skipOnError' => true, 'targetClass' => Way::className(), 'targetAttribute' => ['way_id' => 'id']],
[['way_id'], 'myWayRule', 'params' =>['time_start_field_name' => 'time_start', 'time_offset_min' => 5]],
[['train_id'], 'exist', 'skipOnError' => true, 'targetClass' => Train::className(), 'targetAttribute' => ['train_id' => 'id']],
];
}
public function myWayRule($attribute, $params, $validator)
{
$w_id = $this->$attribute;
$t_start = $this->$params['time_start_field_name'];
//$t_offset = $params['time_offset_min'];
//$time = Traffic::find()->select('time_start')->where('way_id = w_id')->andWhere('time_start = t_start')->one();
$time = Traffic::find()->where('way_id = :w_id', [':w_id' => $w_id])->andWhere('time_start = :t_start', [':t_start' => $t_start])->one();
if( $time == $t_start )
{
$this->addError($attribute, 'Ошибка');
}
}
Можно попробовать такое правило ['way_id', 'unique']
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотелось бы добавить свои кнопки управления в панель инструментов PhpStorm для быстрого переключения режимов отладки
Не могу активировать Custom post types and Taxonomies в polylang