zoukankan      html  css  js  c++  java
  • laravel博客(基础篇 --mysql)

    1、数据库的引入

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

    use IlluminatesupportFacadesDB;

      在.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 AppHttpModelUser;
    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

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

    以此来记录编程之路,偶尔需要静下心来写点东西。
  • 相关阅读:
    Win10 VirtualBox 安装 OpenWrt/LEDE
    在华为云、腾讯云服务器中部署 Hadoop 集群
    记一次部署Hadoop后遭受kthreaddi挖矿病毒
    四种基本编程命名法
    词云图制作
    在Ubuntu18.04lts下安装NS2(含nam)
    二叉树的建立与遍历
    国内pip镜像
    java高斯消元模板
    图的3种储存方式
  • 原文地址:https://www.cnblogs.com/yaradish/p/9445583.html
Copyright © 2011-2022 走看看