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
查看数据库便可看到自己添加的数据了,是不是很方便
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:laravel博客(基础篇 –mysql) - Python技术站