user模型问题 不能插入数组
来源:4-13 csrf+富文本编辑器创建文章(下)

莫名私下里
2017-06-15
(1/1) ErrorExceptionArgument 1 passed to Illuminate\Database\Eloquent\Builder::create() must be of the type array, string given, called in D:\wamp\www\yifang1.0\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php on line 1357 and defined in Builder.php (line 731) at HandleExceptions->handleError(4096, 'Argument 1 passed to Illuminate\\Database\\Eloquent\\Builder::create() must be of the type array, string given, called in D:\\wamp\\www\\yifang1.0\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php on line 1357 and defined', 'D:\\wamp\\www\\yifang1.0\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Builder.php', 731, array())in Builder.php (line 731) at Builder->create('name', 'phone', 'password')in Model.php (line 1357) at Model->__call('create', array('name', 'phone', 'password'))in Model.php (line 1369) at User->create('name', 'phone', 'password')in Model.php (line 1369)
我的模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// protected $guarded = [];
protected $fillable = ['name','phone','password'];//可以进入字段
}
form表单:
<form class="form-signin" method="POST" action="/register">
<input type="hidden" name="_token" value="MESUY3topeHgvFqsy9EcM916UWQq6khiGHM91wHy">
{{ csrf_field() }}
<h2 class="form-signin-heading">请注册</h2>
<label for="name" class="sr-only">名字</label>
<input type="text" name="name" id="name" class="form-control" placeholder="名字" required autofocus>
<label for="inputEmail" class="sr-only">手机</label>
<input type="phone" name="phone" id="inputphone" class="form-control" placeholder="手机" required autofocus>
<input type="text" name="code" id="inputcode" class="form-control" placeholder="验证码" required autofocus>
<label for="inputPassword" class="sr-only">密码</label>
<input type="password" name="password" id="inputPassword" class="form-control" placeholder="输入密码" required>
<label class="sr-only">重复密码</label>
<input type="password" name="password_confirmation" class="form-control" placeholder="重复输入密码" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">注册</button>
</form>
注册行为:
public function register()
{
//验证
$this->validate(request(),[
'name'=>'required|min:3|unique:users,name',
'phone'=>'required|digits:11|unique:users,phone',
'password'=>'required|min:5|max:18|confirmed',
]);
//逻辑
$naem = request('name');
$phone = request('phone');
$password = bcrypt(request('password'));
$user = User::create('name','phone','password');
dd($user);
//渲染
return redirect('/login');
}
改了好几次 ,求老师解惑,
1回答
-
$user = User::create(compact('name','phone','password'));
create函数里面传递的应该是一个数组,使用php的compact来生成数组
022017-06-15
相似问题