如何更新字段以将值推送到laravel中的现有值

6jygbczu  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(690)

我想更新一下 questionsanswerid 带有逗号分隔符的列,当用户针对一个问题多次给出答案时。
这是 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!');
    }

}
cngwdvgl

cngwdvgl1#

用当前ID更新应答ID,用,

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

相关问题