Ruby 程序员学习 laravel 框架笔记 (4)-在数据库中建立一条数据

上一篇文章Ruby 程序员学习 laravel 框架笔记 (3)-第一个路由 UsersController咱们讲了如何建立一个controller,可是在实际应用中,咱们一般会把数据存到数据库中。php

这一节咱们来聊聊数据库方面的知识。mysql

1. 配置数据库

首先打开.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

2. 迁移数据

有了数据库,而且能够链接,还须要表吧。sql

跟ruby同样,laravel也有migration这样的概念,默认还建立了两个,其中有一个是users表。数据库

放migration的文件位于:database/migrationsruby

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

3. 建立表单

日后台填充数据须要表单吧,先来建立路由。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"

完结。

下一篇:Ruby 程序员学习 laravel 框架笔记 (5)-简单的用户认证