2013-10-07 95 views
0

我使用Yii php,並且在數據庫中存在重複項的問題。Yii php:刪除數據庫中的重複項並更新重複行

證明,假設我有這樣的:

id(pk) | parent_id | parent_name| is_male(boolean) | is_female(boolean) 
------------------------------------------------------------------------ 
1  |  1  |parent1  | true    | false     
------------------------------------------------------------------------ 
2  |  1  |parent1  | false   | true 
------------------------------------------------------------------------ 
3  |  2  |parent2  | false   | true 
------------------------------------------------------------------------ 

技術上,parent1是一樣的,但是作爲女性和男性。 以上是正確的但效率低下,重複是沒有必要的,因爲它們只屬於同一父母。我如何刪除重複的父母1,只是更新第一行is_femaletrue

如導致到:

id(pk) | parent_id | parent_name| is_male(boolean) | is_female(boolean) 
------------------------------------------------------------------------ 
1  |  1  |parent1  | true    | true     
------------------------------------------------------------------------ 
3  |  2  |parent2  | false   | true 
------------------------------------------------------------------------ 

我如何在PHP Yii中做到這一點編程?謝謝!

+0

我有一個問題 - 對於id 1 is_male和is_female是真的嗎? – Nes

+0

在第一個表中,沒有...在第二個是... 這個想法是「行」與id(pk)1和2 ..合併,因爲他們基本上指的是相同的東西是parent1與id都是1. – muffin

+0

請爲此只做一個字段「性別」。它是什麼原因分開? – Sergey

回答

0
in update mode loadModel query change means you no need to delete the duplicated , the first record will be get updated 

    Controller file 
----------------  
      Function loadModel($id) 
      { 
    $where='id='.$id .' Group by parent_id ' 
    $model=Model()->find($where); 
      } 

    in view file 
    ------------ 
      <?php 
      if($model->parent_id==1) // when the parent_id is 1 the female field will visible , sure not affect the created 
      { 
      echo $form->textField($model, 'is_female'); ?> 
      } 

     ?>