Ö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?