[英]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.