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)-簡單的用戶認證

相關文章
相關標籤/搜索