We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 53905
    • 1 Posts
    Есть migx поле, с двумя ключами : "usrid" и "pay", у pay значения 1 или 0, необходимо массово удалить все строки в которых "pay"=0
    а еще лучше если ктото поможет понять почему у меня не работает сниппет:
                $page = $modx->getObject('modResource', 1);
                
                $usrTv = $page->getTVValue('migxusers');
                $users = json_decode($usrTv, true);
                
                foreach ($users as $key => $value) {
                    foreach ($value as $k => $v) {
                    	if($k == "usrid" && $v == $special){
                    	    unset($users[$key]);
                              //$users[$key][pay] = '0';
                    	    $resource = $modx->getObject('modResource', 1);
                                $resource->setTVValue('3', json_encode($users));
                                $resource->save();
                    	}
                    }
    


    В него приходит переменная $special в которой содержится содержимое usrid из migx
    и предполагается что этот ключ из массива должен удалится и массив должен запушиться обратно в бд, но этого не происходит, дропается вся таблица.
    по этому я на данный момент использую $users[$key][pay] = '0'; , но при этом накапливаются строки в таблице, а удалять их вручную вообще не вариант.

    по этому необходим либо способ массово удалять строки с "pay"=0 , либо как-то поправить сниппет. [ed. note: f4rr3ll90 last edited this post 6 years, 4 months ago.]