aatlikan
(Aatlikan)
December 10, 2011, 7:34pm
1
elimde ki tabloya formdan gelen veriler gii ile üretilmiş sayfalardan kayıt oluyor.
benim istediğim bu form elemanlarının değerlerini başka veriler ile hesaplama işlemlerine katıp, form üzerinden gelmeyen fakat tabloda olan field lara göndermek /kaydetmek…
çok araştırmadım ama direk sormuş oldum.
umutau
(Umutau)
December 11, 2011, 10:32am
2
Ornek bi kod yolluyurum,
if(isset($_POST['User'])){
$model->attributes=$_POST['User'];
if($model->createUsername=='No'){
$model->email='NO EMAIL REQUIRED';
$model->password='NO PASSWORD REQUIRED';
}
if($model->save()){
$this->redirect(...................);
}
}
aatlikan:
çok teşekkürler…
if(isset($_POST['User'])){
$model->attributes=$_POST['User'];
if($model->createUsername=='No'){
$model->email='NO EMAIL REQUIRED';
$model->password='NO PASSWORD REQUIRED';
}
if($model->save()){
$this->redirect(...................);
}
}
Eğer veritabanında olmayan bir alan kullanıp hesaplama yapmak istiyorsan model içerisine public olarak tanımlayabilirsinz.
örn : $repassword gibi bir değişken
belki faydası olur
erkasoft
(Ertan)
January 14, 2012, 1:56pm
5
aatlikan:
elimde ki tabloya formdan gelen veriler gii ile üretilmiş sayfalardan kayıt oluyor.
benim istediğim bu form elemanlarının değerlerini başka veriler ile hesaplama işlemlerine katıp, form üzerinden gelmeyen fakat tabloda olan field lara göndermek /kaydetmek…
çok araştırmadım ama direk sormuş oldum.
Model üzerinde tanımlama ile validation öncesi hesaplatma yapabilirsin. Form veya CRUD işlemleri farketmez.
class MyModel extends CActiveRecord
{
public function beforeValidate()
{
if($this->getIsNewRecord())
{
$this->add_date = date('Y-m-d h:m', time());
$this->add_usr = Yii::app()->getModule('user')->user()->username;
}
$this->upd_date = date('Y-m-d h:m', time());
$this->upd_usr = Yii::app()->getModule('user')->user()->username;
return parent::beforeValidate();
}
}