Yii Framework Forum: Bagaimana Cara Membuat Automatic Value In Yii? - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Bagaimana Cara Membuat Automatic Value In Yii? Rate Topic: -----

#1 User is offline   garry 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 10-January 10

Posted 09 January 2013 - 12:47 AM

Halo master semua,

Ada yang ingin saya tanyakan tentang generate automatic value di yii

dasar pemograman saya ambil dari ini http://sabitlabscode...ue-ke-database/

dengan perubahan aplikasi seperti ini

protected function beforeValidate()
        {
            parent::beforeValidate();
            $date = new DateTime();
            if($this->isNewRecord)
            {
                $criteria=new CDbCriteria;      
                $criteria->select = 'nota';     
                $criteria->limit=1;             
                $criteria->order='nota DESC';   
                $last = $this->find($criteria);
                if($last)    
                {
                    $newID = (int)substr($last->nota,4) + 1 ;
                    $newID = 'INV-' .$newID;
                }
               else    
                {
                    $newID = 'INV-1';
                }
                $this->nota=$newID;     
           }
           return TRUE;
      }


Kodenya jalan tetapi hanya sampai INV-10, begitu melakukan INV-11 seterusnya sudah tidak bisa.
Saya mencoba modifikai kode seperti ini

protected function beforeValidate()
        {
            parent::beforeValidate();
            $date = new DateTime();
            if($this->isNewRecord)
            {
                $criteria=new CDbCriteria;      
                $criteria->select = 'nota';     
                $criteria->limit=1;             
                $criteria->order='nota DESC';   
                $last = $this->find($criteria);
                if($last)    
                {
                    $newID = (int)substr($last->nota,4) + 1 ;
                    $newID = 'INV-' .$newID;
                }
                elseif($last)
                {
                    $newID = (int)substr($last->nota,5) + 1 ;
                    $newID = 'INV-'."".$newID;
                }
                else   
                {
                    $newID = 'INV-1';
                }
                $this->nota=$newID;     // nilai1 di set nilai yang sudah di dapat tadi
           }
           return TRUE;
      }


Hasilnya tidak bisa, apakah benar modifikasinya? atau ada cara lain?

sekiranya hal ini sudah di bahas, tolong tunjukin linknya, soalnya sudah ngubek google dan forum, hasilnya tidak ada.

thanks ya atas perhatiannya
0

#2 User is offline   masapri 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 21-July 12

Posted 06 March 2013 - 04:50 AM

Logika dibawah ini maksudnya gimana gan?

if($last)
{
$newID = (int)substr($last->nota,4) + 1 ;
$newID = 'INV-' .$newID;
}
elseif($last)
{
$newID = (int)substr($last->nota,5) + 1 ;
$newID = 'INV-'."".$newID;
}
else
{
$newID = 'INV-1';
}
$this->nota=$newID;
0

#3 User is offline   santhika 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 04-March 13

Posted 15 March 2013 - 12:48 AM

if($last)    
{
  $newID = (int)substr($last->nota,4) + 1 ;
  $newID = 'INV-' .$newID;
}
else    
{
  $newID = 'INV-1';
}


klo dari algoritma nya memang perlu sedikit penyesuaian untuk nilai yang lebih dari 10 gan. gimana klo kode nya saya jadi kan seperti ini
if($last)    
{
  $newID = (int)substr($last->nota,4,strlen($last->nota)) + 1 ; //baris ini yang diubah gan
  $newID = 'INV-' .$newID;
}
else    
{
  $newID = 'INV-1';
}

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users