Я получаю эту ошибку (проверьте точную ошибку в нижней части вопроса) Я проверяю снова и снова, но не могу найти, что не так. Кажется, все в порядке. На insert_batch все работает нормально, но на update_batch я получаю эту ошибку. Вот мой текущий код
Кодовый указатель модели :
Вот модель, которая правильно выбирает данные
function get_seeds($tournament_id) {
$this->db->where('tournament_id', $tournament_id);
$result = $this->db->get('tournament_seed');
return $result->result();
}
Контроллер Codeigniter :
Вот мой контроллер, где я проверяю, есть ли и череду семян. Если ДА, тогда обновите в противном случае.
$check_seeds = (object)$this->tournament_model->get_seeds($tournament_id);
if ($_POST) {
foreach ($check_seeds as $key => $value) {
if(!empty($key) && !empty($value)) {
$seeded[] = array(
'id' => $value->id,
'tournament_id' => $tournament_id,
'stage_id' => $stage_id,
'seed_id' => $value,
'team_name' => $key,
);
$this->db->update_batch('tournament_seed', $seeded, 'id');
redirect('organizer/tournaments);
} else {
//something
}
}
}
print_r ($ check_seeds)
stdClass Object
(
[0] => stdClass Object
(
[id] => 3
[tournament_id] => 713161746
[stage_id] => 3
[seed_id] => 1
[team_name] => -V-ATTAX
)
[1] => stdClass Object
(
[id] => 4
[tournament_id] => 713161746
[stage_id] => 3
[seed_id] => 2
[team_name] => NIP
)
[2] => stdClass Object
(
[id] => 5
[tournament_id] => 713161746
[stage_id] => 3
[seed_id] => 3
[team_name] => fnatic
)
)
Ошибка
A PHP Error was encountered
Severity: 4096
Message: Object of class stdClass could not be converted to string
Filename: database/DB_query_builder.php
Line Number: 1970
Backtrace:
File: E:\xampp\htdocs\hltv\application\controllers\organizer\Tournaments.php
Line: 1065
Function: update_batch
File: E:\xampp\htdocs\hltv\index.php
Line: 315
Function: require_once
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ELSE `seed_id` END, `team_name` = CASE WHEN `id` = '4' THEN '1' ELSE `team_name' at line 7
UPDATE `tournament_seed` SET `tournament_id` = CASE WHEN `id` = '4' THEN '713161746' ELSE `tournament_id` END, `stage_id` = CASE WHEN `id` = '4' THEN '3' ELSE `stage_id` END, `seed_id` = CASE WHEN `id` = '4' THEN ELSE `seed_id` END, `team_name` = CASE WHEN `id` = '4' THEN '1' ELSE `team_name` END WHERE `id` IN('4')
Filename: E:/xampp/htdocs/hltv/system/database/DB_driver.php
Line Number: 691