上一篇文章Ruby 程序員學習 laravel 框架筆記 (3)-第一個路由 UsersController咱們講了如何建立一個controller,可是在實際應用中,咱們一般會把數據存到數據庫中。php
這一節咱們來聊聊數據庫方面的知識。mysql
首先打開.env
文件。laravel
找到數據庫配置的地方,改一下,好比:程序員
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=blog_dev DB_USERNAME=root DB_PASSWORD=
DB_DATABASE
這個是你的數據庫的名稱,你能夠事先建立好。web
有了數據庫,而且能夠鏈接,還須要表吧。sql
跟ruby同樣,laravel也有migration這樣的概念,默認還建立了兩個,其中有一個是users表。數據庫
放migration的文件位於:database/migrations
。ruby
class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
執行遷移的命令以下:bash
php artisan migrate
日後臺填充數據須要表單吧,先來建立路由。app
# routes/web.php Route::get('/users/create', 'UsersController@create'); Route::post('/users', 'UsersController@store');
像上節那樣,建立一個action。
# app/Http/Controllers/UsersController.php public function create() { return view('admin.users.create'); }
建立一個view。
# resources/views/admin/users/create.blade.php <form action="/users" method="POST"> {{ csrf_field() }} <input type="text" name="name"> <input type="email" name="email"> <input type="password" name="password"> <input type="submit" vaule="Create"> </form>
最後修改一下app/Http/Controllers/UsersController.php
文件以下:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User; class UsersController extends Controller { public function index() { $users = [ '0' => [ 'first_name' => 'Renato', 'last_name' => 'Hysa' ], '1' => [ 'first_name' => 'Jessica', 'last_name' => 'Alba' ] ]; // return $users; return view('admin.users.index', compact('users')); } public function create() { return view('admin.users.create'); } public function store(Request $request) { User::create($request->all()); return "success"; } }
注意use App\User;
這行是添加的。
添加成功後,數據表users會多一行記錄的,頁面上也會輸出"success"
。
完結。