Bu şekilde güncellenmesini afterFind değiştirilen verileri tutmak?

0 Cevap php

Öyle gibi onların GEO yere göre verileri ayarlamak için model 's afterFind fonksiyonu kullanılarak ise:

 #app/models/product.php
function afterFind($results) 
{
    if( $userInArea)
    {
        if(!isset($results[0]['Product']['price']))
        {
            return $results;    
        }
        foreach ($results as $key => $val) 
        {  
            $results[$key]['Product']['price'] = $this->priceAdjustAfterFind($val['Product']['price']);
        }

        return $results;
    }
}

function priceAdjustAfterFind($price) 
{    
    return $price * 1.2;
}

Bu ise belli bir alanda% 20 daha yüksek modeli tarafından döndürülen verilerin fiyat alanı yapmak istiyorum.

Sorun:

Fiyat 100 olduğunu söylüyorlar. Bir yönetici GEO alan ve bir ürün düzenlemek gider admin/product/edit/4. Gelen edit view verilen veriler product model o GEO alanında ve fiyat ayarlamak tetikleyecek çünkü fiyat 120 'ye sahip olacak.

Bu yüzden kısa sürede o kaydeder diye yanlışlıkla 100-120 fiyat değişecek (o ismi düzeltilmiş söylüyorlar). Yine düzenlemediğinden Şimdi eğer her şey artırarak, 144 olarak yükleyecektir.

Bunu önlemek için mantıklı bir yol ile geliyor değilim. Herhangi bir öneriniz?

0 Cevap