如何修复preg_replace():参数不匹配,pattern是一个字符串,而replacement是一个数组

时间:2016-07-02 14:51:26

标签: php laravel laravel-5.2

我从视图中获取复选框值(多个值),其中用户选择他们感兴趣的主题并在我的数据库的列中存储多个值。所以使用serialize()将它们存储在我的数据库中。当我尝试这样做。它抛出了上面提到的错误。我在Stackoverflow中查看了之前的问题并进行了一些更改,例如

$data = array(
'topics' => $post['topics'] ,);

$data = [
    'topics' => $post['topics'] ,];

再次显示相同的错误,这是我的视图

<div class="panel-body">
                   <center><h2> Select the topic you are interested in</h2></center><br>

                    <form enctype="multipart/formdata"class="form-horizontal" role="form" method="POST" action="{{ url('/topicStore') }}">
                        {{ csrf_field() }}


                         <center>
                         <input type="checkbox" name="topics[]" value="sports"> Sports</input>
                         <input type="checkbox" name="topics[]" value="education"> Education</input>
                         <input type="checkbox" name="topics[]" value="family"> Family</input>
                         <input type="checkbox" name="topics[]" value="friends"> Friends</input></center><br>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-user"></i>Add topics 
                                </button>
                            </div>
                        </div>


                      </div>

这是我的控制器。

public function storeSelection(Request $request)
    {
        $post = $request->all();
        $val=\Validator::make($request->all(),

        [
           'topics' =>    'required',

        ]);


            if ($val ->fails()) 
                    {

                        return redirect()->back()->withErrors($val->errors());

                    }

            else
                    {
                        $data = array(

                            'topics' => $post['topics'] ,
                                     );



                        $topics = serialize($data);

                        $updatedata = DB::table('users')->where('name',\Auth::user()->name)
                        ->update($data);

                        if ($updatedata>0) {


                            return redirect('home');
                    }

}
    }

我想将从视图中获取的数据数组保存到数据库中的列中。我使用过serialize()。还有其他更好的方法吗?

0 个答案:

没有答案