[英]How can I insert data into Database Laravel?
我是编程新手。 我在views / register.blade.php中创建了一个基本表单
@section('content')
<h1>Registration Form</h1><hr>
<h3>Please insert the informations bellow:</h3>
{{Form::open(array('url'=>'test/register','method'=>'post'))}}
<input type="text" name="username" placeholder="username"><br><br>
<input type="text" name="email" placeholder="email"><br><br>
<input type="password" placeholder="password"><br><br>
<input type="submit" value="REGISTER NOW!">
{{Form::close()}}@stop
我有一个控制器。 像这样
public function create()
{
$user= Input::all();
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Input::get('password');
$user->save();
return Redirect::back();
}
这是我的路线:
Route::get('test/register', array('uses'=>'TestController@create'))
我无法通过表单注册用户。 你能建议我怎么做吗?
错误MethodNotAllowedHttpException表示路由存在,但HTTP方法(GET)错误。 您必须将其更改为POST:
Route::post('test/register', array('uses'=>'TestController@create'));
此外,您需要哈希密码:
public function create()
{
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::back();
}
我删除了该行:
$user= Input::all();
因为在下一个命令中,您用其替换其内容
$user = new User;
要调试输入,您可以在控制器的第一行:
dd( Input::all() );
它将显示输入中的所有字段。
确保使用POST插入数据。 其实你在使用GET 。
第一种方法,你可以试试这个
$department->department_name = $request->department_name;
$department->status = $request->status;
$department->save();
使用create function将记录插入数据库的另一种方法
$department = new Department;
// Another Way to insert records
$department->create($request->all());
return redirect('admin/departments');
您需要在Department模型中设置填充
namespace App;
use Illuminate\Database\Eloquent\Model;
class Department extends Model
{
protected $fillable = ['department_name','status'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.