1、数据库的引入

  使用数据库需要先引入DB类,

use Illuminate\support\Facades\DB;

  在.env中配置好用户名密码以及数据库前缀,格式为:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=root
DB_PREFIX=blog_

  配置好数据库信息后,直接使用以下方式查看是否连同数据库

$pdo = DB:connection()->getPdo();
dd($pdo);

  若连通数据库,则会返回连接的数据信息

2、model的使用

  通过artisan命令建立model类,之前已经提到过,并且建立时可以加上路径,命令如下

php artisan make:model User

  这样便生成User模型,引用数据库时,只需要饮用此模型就可以使用

use App\Http\Model\User;
function index(){
  $data = User::where('')->orderBy('id','desc')->paginate(5);
}

  介绍几个常用的查询功能

orderBy(‘id’,‘desc’)//排序要注意‘B’大写,此外正序和倒序为第二个参数
where(‘id’,‘>’,2)  //如果条件是等于的话,可以不写第二个参数
get()                       //查询给出条件的数据
all()                        //查询所有的数据
join(‘表二’,‘条件’,‘=’,‘条件’) //用于多表查询
increment($view//自增,每次调用给出的字段自动1
first()                         //查询第一条数据
pluck()->all()          //对取出的字段进行过滤
take()->get()           //取出几条数据
paginate()                   //分页   后可通过 $data->links() 输出上下页                        
 

3、出现问题及解决办法

  ①、通过model访问user表时,总是报错不存在users表,而自己明明创建的是user表,原因是laravel创作者是老外,他们认为这种表就应该是复数,所以自动加载了users表,解决办法是

在model中添加表明表名的变量, pretexted $table = 'user';

  ②、使用find()方法查询一条数据时 ,总是报错不存在id,而自己创建的是user_id,原因同上,也是laravel自动认为主键为id字段,需要作出调整,也是在model中添加表明主键的变量:

protected $primaryKey = 'user_id';需要注意的是 K 要大写;

  ③、更新数据时报错,不存在update_at这一个字段,也是laravel自动添加,用于记录每一条数据的更新时间。解决办法,添加公共变量,把默认给关闭 public $timestamps = false;即可

4、数据库迁移及数据填充

  ①创建数据表,执行以下命令

php artisan  make:migration create_user_table

  操作之后会在database/migrations/目录下生成创建表文件,其中包含两个方法up()创建和down()删除,添加方法如下:

  //创建表 
  public function up()
    {
        Schema::create('user', function (Blueprint $table) {
            $table->engine = "MyISAM";              //注意这里是一个变量
            $table->increments('user_id');
            $table->string('user_name')->default('')->comment('//名称');
            $table->integer('user_order')->default('0')->comment('//排序');
        });
    }
  //删除表
    public function down()
    {
        Schema::dropIfExists('user');
    }

  在写完需要创建的字段后,执行以下命令,建立数据表。注意,在创建一张表的时候需要将其他的表文件移出文件夹,否则其他表也会同时运行一遍

php artisan migrae

  ②、数据填充

php artisan make:seeder userTableSeeder

  操作以上命令database/seeder/目录下生成UserTableSeeder.php,包含了一个方法,run()添加数据方法,写法如下:

 public function run()
    {
        $data = [
            [
                'link_name' => 'laravel',
                'link_title' => 'blog 开发',
                'link_url' => 'https://www.cnblogs.com/yaradish/p/9445583.html',
                'link_order' =>1 
            ],
            [
                'link_name' => 'laravel',
                'link_title' => 'blog 开发',
                'link_url' => 'https://www.cnblogs.com/yaradish/p/9445583.html',
                'link_order' =>2
            ],
            
        ];
        DB::table('links')->insert($data);
    }

   再完成数据填写后,要强调的是,需要先进入同目录DatabaseSeeder.php(源文件)中,打开要添加的数据,然后执行以下命令

php artisan db:seed

查看数据库便可看到自己添加的数据了,是不是很方便