laraval 学习 day 3 section 1:

继续昨天的project,今天我们要连接数据库了

我使用的是mamp,直接运行,mysql默认端口是8889。确认这点之后我们继续。
现在在mysql 中创建一个dababase,在里面创建一个table

现在,创建一个model,在terminal中输入

php artisan make:model Message  -m

在app文件夹中,就会生成这个文件
这里需要注意,model直接挂钩migration,也就是database里面的参数
在migration中,就会发现一个有up和down的文件,up 意味着写入的条件,down意味着拿到的东西

 public function up()
    {
        Schema::create('messages', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email');
            $table->mediumText('message');
            $table->timestamps();
        });
    }

******************************************* 这个分割线 *******************************************

现在开始配置database的文件

在 .env 文件中,开始配置, 下面是我的配置

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

配置结束之后一定要输入,这样直接就可以在database中创建出一个table

php artisan migrate 

来对关于database的配置文件进行更新,

******************************************* 这个分割线 *******************************************

现在,尝试让message controller 和 database可以直接进行互动

在message controller 中导入

use App\Message;

现在我们修改之前的submit的functions
创建,获取信息,储存message,最后redirect

    public function submit(Request $request){
        $this->validate($request, ['username'=>'required', 'email'=>'required']);
        
        $message =  new Message;
        $message->name = $request->input('username');
        $message->email = $request->input('email');
        $message->message = $request->input('message');
        $message->save();
        return redirect('/');
    }

******************************************* 这个分割线 *******************************************

redirect之后还发一个信息

这个地方是很有趣的,首先在laravel中有一个东西叫做session,也是全域,和之前说的error差不多。

return redirect('/')->with('success', 'this is message for the session');

之后我们可以在全域里面寻找session

@if(session('success'))
  
{{session('success')}}

这里,我们应该完全可以自己将数据放到database里面了

******************************************* 这个分割线 *******************************************
今天遇到了一些问题,所以在整理的时候还是比较困难的,毕竟以前几乎没有接触过php
比如model生成了之后,直接就会生成migration,migration文件直接就对接database立面table与table细节的问题。

你可能感兴趣的:(laraval 学习 day 3 section 1:)