Я написал функцию, и он работает только с одной стороны:CodeIgniter - не в состоянии запросить базу данных
//Find current upload total value
$this->EE->db->select('upload_total');
$upload_total = $this->EE->db->get_where('exp_competition_purchase_upload_total', array('member_id' => $member_id));
return $upload_total->result();
// If upload total is more than 0
if($upload_total > 0) {
$new_total = $upload_total + $my_data['upload_total'];
$my_data['upload_total'] = $new_total;
}
Может кто-нибудь сказать мне, если они могут увидеть любой вопрос с этой конкретной частью коды?
Вот полная функция. Он работает в расширении. Расширение работает, оно, как представляется, является приведенным выше кодом, который не является.
Я просто пытаюсь найти значение в db, тогда, если значение больше одного, добавьте значение в другое.
function cartthrob_on_authorize()
{
foreach ($this->EE->cartthrob->cart->items() as $item) {
// Create array to store member id and purchased upload slots
$my_data = array(
'member_id' => $this->EE->session->userdata('member_id'),
'upload_total' => $item->item_options('fees'),
);
// Store member id in variable
$member_id = $my_data['member_id'];
// Query table to check if there is record with member id exists
$query = $this->EE->db->get_where('exp_competition_purchase_upload_total', array('member_id' => $member_id));
// If query returns more than 0 update record
if($query->num_rows() > 0) {
//Find current upload total value
$this->EE->db->select('upload_total');
$upload_total = $this->EE->db->get_where('exp_competition_purchase_upload_total', array('member_id' => $member_id));
// If upload total is more than 0
if($upload_total > 0) {
$new_total = $upload_total + $my_data['upload_total'];
$my_data['upload_total'] = $new_total;
}
return $upload_total->result();
$this->EE->db->where('member_id', $member_id);
$this->EE->db->update('exp_competition_purchase_upload_total', $my_data);
// If query returns 0 insert new record
} else {
$this->EE->db->insert('exp_competition_purchase_upload_total', $my_data);
}
}
}
Да, вы не можете запустить код после возврата u ... 'return $ upload_total-> result();' должно быть сделано после устного условного оператора – mic
, вы уверены, что у вас есть результат из db, когда вы вызываете '$ this-> EE-> db'? – rcpayan
micb: если я добавлю его после ошибки: объект класса CI_DB_mysql_result не может быть преобразован в int. – ccdavies