KevinSmash, первое, что могу предположить так это неверный url к действию контролера.
Второе, Вы не то пытаетесь обновить.
Вы сказали, что в GridView у Вас данные из Users, а обновлять Вы будете UsersSettings.
Так вот. В var Id = $(this).parent().attr("data-key"); у Вас id Users, но никак не UsersSettings.
Если у Вас связь через id Users, то в UsersSettings Вы должны обновлять как-то так $model = UserSettings::findOne(['user_id' => $uId]
KevinSmash, первая строка получает id записи, вторая значение input, в котором Вы меняете дату, ну а третья строка это для проверки, выводит в консоль браузера результат первых двух строк. Роли не играет и можно её удалить.
KevinSmash, ответ верен при том, если Вам нужно что-то обновить в той же таблице базы данных, из которой Вы в GridView выводите данные. Если в другой, то надо будет делать чуть иначе в действии контролера.
Добрый день.
Пишите консольный скрипт, который будет обновлять данные в БД, если конечно же у Вас значение для checkbox хранятся в базе.
По cron-у запускаете этот скрипт.
Команда для yii будет следующей: bin/php project/yii controller/action
Как написать консольную команду для YII - читайте в документации.
KevinSmash, зачем Вам лишний запрос в базу данных?
Вы уверены, что $jd не пустая или в неё попадает нужное значение?
Непонятно, что делает вот эта строка?
KevinSmash, вот этот параметр может работать со сбоями. url: '/admin/clients/date-subscription'
Лучше будет, если Вы зададите маршрут при помощи Url::to() или Url::toRoute().
Второе, Вы не то пытаетесь обновить.
Вы сказали, что в GridView у Вас данные из Users, а обновлять Вы будете UsersSettings.
Так вот. В
var Id = $(this).parent().attr("data-key");
у Вас id Users, но никак не UsersSettings.Если у Вас связь через id Users, то в UsersSettings Вы должны обновлять как-то так
$model = UserSettings::findOne(['user_id' => $uId]