У меня есть таблица questions
, в которой значения столбца answerid
похожи на 1,2,3,4,5,6,7,8,9,10
.Теперь я хочу обновить questions
таблицу, когда я собираюсь удалить answer
из answers
таблицы.Предположим, я собираюсь удалить ответ 5
номер из таблицы answers
, а также удалить этот номер 5
из таблицы questions
.Но когда я делаю эту таблицу questions
, она обновляется следующим образом - [{"answerid":"1,2,3,4,6,7,8,9,10"}]
Вместо этого я хочу обновить как 1,2,3,4,6,7,8,9,10
.Я пытался в моем методе, как это-
public function deleteAnswer($id)
{
$questionId = DB::table('answers')->where('id', $id)->get(['questionid']);
$qid = $questionId[0]->questionid;
$questionAns = DB::table('questions')->where('id', $qid)->get(['answerid']);
$ansId = explode(",",$questionAns);
//dd($ansId);
while ($aid = current($ansId)) {
if ($aid == $id) {
$offset = key($ansId);
}
next($ansId);
}
unset($ansId[$offset]);
$implodeAnsIds = implode(",",$ansId);
DB::table('questions')->where('id', $qid)->update([
'answerid' => $implodeAnsIds,
]);
return 'done';
}