【发布时间】:2018-11-20 06:47:33
【问题描述】:
当用户针对一个问题多次给出答案时,我想用逗号分隔符更新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!');
}
}
【问题讨论】:
-
这样简单使用
->update([ 'answerid' =>DB::raw('CONCAT(answerid,",2")')]); -
在您的查询中用变量替换
2时遇到问题。
标签: php mysql laravel explode implode