Menggunakan Array Pada Klausa WHERE IN di MySQL

Misalkan, Sahabat memiliki kode yang mereturn sebuah array :

$org_units = array_keys(OrgUnit::model()->getMeAndMyChilds($org_unit_code)) ;

Variabel $org_units misal, beriisi data berikut :

Array ( [0] => 6200060300 [1] => 6200060301 )

Bagaimana menggunakan Array ini pada klausa WHERE IN ?, Jawabannya ada di [1].

Contohnya adalah sebagai berikut (catatan : contoh kode ini menggunakan Yii Framework):

public function getLogtempUpdate($org_unit_code="")

{

$connection = Yii::app()->db;

if($org_unit_code == "") {

$sql = "SELECT a.*,b.employee_id,b.other_id,b.fullname,b.dateofbirth,b.pension_date

FROM log_temp a INNER JOIN employee_temp b ON b.id=a.id WHERE a.logtype=1";

} else {

$org_units = array_keys(OrgUnit::model()->getMeAndMyChilds($org_unit_code)) ;

$org_units_csv = "'".join("','",$org_units)."'" ;

$sql = "SELECT a.*,b.employee_id,b.other_id,b.fullname,b.dateofbirth,b.pension_date

FROM log_temp a INNER JOIN employee_temp b ON b.id=a.id WHERE a.logtype=1 AND b.org_unit_code IN({$org_units_csv})";

}

$command = $connection->createCommand($sql);

$model = $command->queryAll();

return $model;

}

Referensi