$ this-> db-> replace () используя where - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь найти что-то вроде insert_or_update (аналогично тому, что предлагает Laravel) в CodeIgniter 3. Самое близкое, что я нашел, это $this->db->replace(), но я не могу найти ничего, что указывает на то, что оно может/ нельзя использовать вместе с ->where().Основываясь на документах, я не верю, что это сработает, поскольку в нем не указан ->where() в качестве опции, но я хотел бы еще раз проверить это.

Я надеюсь, что смогу сделать что-то вроде...

$data = [...];
$whereSearch = [...];
$this->db->replace($data)->where($whereSearch);

Ответы [ 2 ]

0 голосов
/ 22 мая 2018
$this->db->where('column_name',$compared_data); 
$this->db->set('column_name',$updated_data);
$this->db->update('table_name');

Это то, что вы ищете?

0 голосов
/ 21 мая 2018

Ключ здесь для цитирования документации:

с использованием ПЕРВИЧНЫХ и УНИКАЛЬНЫХ ключей в качестве определяющего фактора.

Замена работает только на основе ваших ключей для замены значений в таблице.Возможно, вы найдете Замените ли вы в предложении where? также полезно.

...