laravel博客(基礎篇 --mysql)


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

查看數據庫便可看到自己添加的數據了,是不是很方便

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM