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回答

轩脉刃

2017-06-15

        $user = User::create(compact('name','phone','password'));


create函数里面传递的应该是一个数组,使用php的compact来生成数组


0
2
莫名私下里
非常感谢!
2017-06-15
共2条回复

Laravel快速开发简书

Laravel最新特性结合Mysql异步消息队列、ElasticSearch搜索引擎、Debugbar调试利器开发简书

1218 学习 · 613 问题

查看课程