Как обновить поле, чтобы выдвинуть значение к существующему значению в laravel - PullRequest
0 голосов
/ 11 июня 2018

Я хочу обновить questions таблицу answerid столбец с разделителем запятыми, когда пользователи много раз дают ответ на один вопрос.
Это answers таблица ниже-

id   questionid   answer
1        1         ans1 
2        1         ans2
3        1         ans3

И моя таблица questions -

id   userid   questions  answerid
1     100        q1         1
2     110        q2
3     1345       q3

После того, как много раз ответили на один вопрос, тогда таблица questions должна быть похожа на

id   userid   questions  answerid
1     100        q1       1,2,3
2     110        q2
3     1345       q3 

Когда пользователь отвечает на вопрос, тогда яя сохраняю это в моей базе данных, как ниже-

public function saveAnswer(Request $request)
{
    $id = session()->get('did');
    $phone = session()->get('phone');
    $email = session()->get('email');
    if(empty($phone) || empty($email)){
        return redirect('donor-login');   
    }

    $answer = DB::table('answers')
                    ->insert([
                        'questionid' => $request->questionid,
                        'answer'     => $request->answer,
                        'created_by' => $id,
                        'updated_by' => $id,
                        'created_at' => date("Y-m-d H:i:s"),
                    ]);
    if ($answer) {
        DB::table('questions')
                 ->where('id', $request->questionid)
                 ->update([
                    'answerid' => ????here is my problem
                 ]);
        return back()->with('success', 'Your answer successfully saved!');
    }

}

1 Ответ

0 голосов
/ 11 июня 2018

Обновление answerid с текущими идентификаторами и concat с,

DB::table('questions')->where('id', $request->questionid)->update(['answerid'=>DB::raw("CONCAT(answerid,',".$answer."')")]);
...