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

时间:2015-05-16 16:40:42

标签: php mysql laravel-5

我想在我的数据库中保存数据但是在存储数据之后我的输出中出现错误可以帮助我 我试图保存数据而不是输出一些错误,但她保存数据后发送错误说preg_replace我可以做什么来阻止它并重定向到其他路线

这是我的控制器

public function create()
{

return view('employmentform');
}

public function handleCreate(Request $request)
{




 $employe = employe::create([
            'fname' => $request->input('first_name'),
            'lname' => $request->input('last_name'),
            'phone' => $request->input('phone_number'),
            'email' => $request->input('email'),
            'houseno' => $request->input('house'),
            'kebele' => $request->input('kebele'),
            'city' => $request->input('city'),
            'state' => $request->input('state'),
            'age' => $request->input('date'),
            'username' => $request->input('user_name'),
            'sex' => $request->input('sex'),
            'password' => Hash::make($request->input('country')),
            'salary' => $request->input('salary'),
            'bankaccount' => $request->input('account'),
            'bankname' => $request->input('bank'),
           'employedate' => getdate(),
           'contactid'=> 1,

        ]);

return Redirect::action('ContactController@create');;

}

她是我的表单视图

<form action="{{ action('EmployeController@handleCreate') }}" method="post" role="form">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<label for="first_name" id="first_name" >first name</label>
<input name="first_name" type="text" id="first_name" class="form-control"></br>
<label for="last_name" id="last_name">last name</label>
<input name="last_name" type="text" id="last_name" class="form-control"></br>
<label for="date" id="date">day of birth</label>
<input name="date" type="date" id="date" class="form-control"></br>
<input type="radio" name="sex" value="Male"/>Male
<input type="radio" name="sex" value="Female"/>Female</br>
<label for="phone_number" id="phone_number">phone_number</label>
<input name="phone_number" type="text" id="phone_number" class="form-control"></br>
<label for="email" id="email">email</label>
<input name="email" type="email" id="email" class="form-control"></br>
<label for="house" id="house">house_number</label>
<input name="house" type="text" id="house" class="form-control"></br>
<label for="kebele" id="kebele">kebele</label>
<input name="kebele" type="text" id="kebele" class="form-control"></br>
<label for="city" id="city">city</label>
<input name="city" type="text" id="city" class="form-control"></br>
<label for="state" id="state">state</label>
<input name="state" type="text" id="state" class="form-control"></br>

<label for="user_name" id="user_name">user_name</label>
<input name="user_name" type="text" id="user_name" class="form-control"></br>
<label for="password" id="password">password</label>
<input name="password" type="password" id="password" class="form-control"></br>
<label  >re-password</label>
<input name="password_confirmation"type="password"  class="form-control"></br>
<label for="work" id="work">work position</label>
<input name="work" type="text" id="work" class="form-control"></br>
<label for="salary" id="salary">salary</label>
<input name="salary" type="text" id="salary" class="form-control"></br>
<label for="account" id="account">bank account number</label>
<input name="account" type="text" id="account" class="form-control"></br>
<label for="bank" id="bank">bank name</label>
<input name="bank" type="text" id="bank" class="form-control"></br>

<input type="submit" value="Create" class="btn btn-primary" />

    </form>

它将数据存储在数据库中但发送错误

ErrorException in helpers.php line 686:
preg_replace(): Parameter mismatch, pattern is a string while replacement is an array

enter code here

1 个答案:

答案 0 :(得分:0)

我遇到了类似的错误,结果是我的POST数据中有一个2级以上的嵌套数组(不是JSON序列化)。

如果您在POST请求的标题中有这样的模式(使用Chrome的检查器查看),那么您遇到同样的问题,并且需要删除或序列化为JSON数组的内容(我的示例中为data[pivot]):

_method:PUT
data[id]:6
data[site_id]:1
data[name]:sdafasfvdsfdsfg
data[url]:
data[created_at]:2015-09-04 12:51:54
data[updated_at]:2015-09-04 12:51:54
data[pic]:
data[original_pic]:

// ! This was the problem:
data[pivot][quiz_id]:1
data[pivot][product_id]:6

希望它有所帮助!

PS。对于阅读此内容的任何核心Laravel开发人员:请找到一种改进错误报告的方法,一些错误确实是&#34; WTF&#34;如果没有试错,几乎不可能追踪。