Ситуация такая:
$transaction = Yii::app()->db->beginTransaction();
$condition=$model->getCondition(); //обычный select из кучи таблиц
if($condition) {
//... куча функций, апи вызовов, изменений баланса пользователя, в результате $model->getCondition() уже не вернет прежнего результата
}
$transaction->commit();
Но если юзер делает 10-100 запросов одвновременно, то код внутри "if($condition){}" будет выполняться несколько раз, что неприемлемо. Т.о., мне нужен лок на чтение внутри транзакции, так чтобы второй запрос пользователя ждал, пока завершится первая транзакция, и только потом получил ответ на запрос $model->getCondition() - уже обновленный ответ. Я кучу всего перечитал из манов, и нашел только то, что нужно прописать "transaction-isolation = serializable" в конфиге мускла. Но это не помогло =( Соответственно, вопрос: что делать?
P.S. таблицы innodb, конечно.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
По идее блок html должен попадать под условие if и выполняться - if trueВ данном случае - false, но html возвращает
PHP Fatal error: require_once() [functionrequire]: Failed opening required '/home/a/set/public_html/system/startup