我确定已经回复了,所以如果您有相关链接,请告诉我。
我需要将条件传递给数组。 (如果这是一个坏主意,请尽量提供另一种解决方案)。
PHP
$solUpdate = "";
if($info[$i]->shortSubject == $el && $info[$i]->id != $tid){
$solStat = $wpdb->get_content('is_ticket','ticket_id ='.$tid,'solarStatus');
$check = solarCurl($info[$i]->id,"Tickets",false);
$check = json_decode($check);
if($solStat != $st){
$solUpdate = ("solarStatus"=>$st);
}
$wpdb->update('is_ticket', array('solarID'=>$info[$i]->id,$solUpdate), array('parent_ticket'=>$tid, 'solarTType'=>$check->problemtype->id));
}
这是我想要完成的事情,
如果$ solStat!= $ st,那么我想用$ st更新那行,但是.... $ st可能并不总是不同,所以没有实际的更新要做,但是......我不想给我写一个别的if,我认为这是可怕的代码练习。我确信这很容易,我已经找到了如何做到这一点。谢谢你的帮助。
答案 0 :(得分:2)
该行:
$solUpdate = ("solarStatus"=>$st);
无效PHP。
在运行$solUpdate
来电之前,您可以在$wpdb->update()
存储的数组中收集要更新的列:
$solUpdate = array();
if ($info[$i]->shortSubject == $el && $info[$i]->id != $tid) {
$solStat = $wpdb->get_content('is_ticket', 'ticket_id='.$tid,'solarStatus');
$check = solarCurl($info[$i]->id,"Tickets",false);
$check = json_decode($check);
$solUpdate['solarID'] = $info[$i]->id;
if ($solStat != $st) {
$solUpdate['solarStatus'] = $st;
}
$where = array(
'parent_ticket' => $tid,
'solarTType' => $check->problemtype->id
);
$wpdb->update('is_ticket', $solUpdate, $where);
}