上一篇文章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"
。
完结。