怎麼知道lavarel對資料庫的設定?
在.env之中找到
DB_CONNECTION=mysql (使用mysql 或是 sqlite)
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=js_trans
DB_USERNAME=root
DB_PASSWORD=
以上根據資電腦資料庫MySql或是Sqlite去設定IP
laravel怎麼和資料庫連接?
使用指令 php artisan migrate
可以將laravel中設定好內容搬遷至指定的資料庫中
可以先嘗試丟入試試看,如果之後有在lavarel增加新的table,則要使用指令
php artisan migrate:flesh,就可以將資料庫更新,
But table 裡的 column 也會被重製
怎麼建立新的table?
php artisan make:model -m 名稱
如果只需要用到model 或是migrate可以使用下方指令
php serve make:model abc
創建一個新的model abc
make: migration create_posts_table
創建一個新的migrate create_posts_table
也可以用php artisan help make:model
去查詢其他功能
範例:
C:\Users\Desktop\js_trans>php artisan make:model -m bname
INFO Model [C:\Users\Desktop\js_trans\app/Models/bname.php] created successfully.
INFO Created migration [2022_10_04_082922_create_bnames_table].
之後就可以在app\models和app\migration找到剛剛新建的bname檔案
怎麼在migration設定table中的column?
一開始系統會預設給予下面兩項,分別會給ID欄位、created_at欄位、updated_at欄位
$table->id();
$table->timestamps();
如果想要加上新增欄位,有以下欄位屬性可以參考
$table->string('name'); //字串
$table->morphs('tokenable');
$table->text('abilities')->nullable();
$table->longText('payload')->unique();
$table->rememberToken();
怎麼新增資料?要先編輯table的資料權?
在models中編輯,為了避免資料庫中private的資料被竄改,所以有兩種寫法分別是 $fillable 和$hidden,可以選一個寫,不一定要兩個都寫。
protected $fillable = [
'name',
'email',
'password',
];
protected $hidden = [
'password',
'remember_token',
];
編輯好權限之後,可以著手新增資料,首先在你的編譯器輸入:使用指令php artisan tinker 來操作
php artisan tinker
在tinker裡,輸入以下幾種資料庫指令,分別代表不同的功能
bname::find(2)->name
bname::whereId(12)->first();
//找到指定區塊
bname::all()
bname::get()
//印出全部
bname::create(['name'=>'123'])
//建立資料
->delete()
//刪除資料
範例:
>>> bname::create(['name'=>'123'])
=> App\Models\bname {#4664
name: "123",
updated_at: "2022-10-05 03:28:40",
created_at: "2022-10-05 03:28:40",
id: 25,
}
>>> bname::find(25)
=> App\Models\bname {#3671
id: 25,
name: "123",
created_at: "2022-10-05 03:28:40",
updated_at: "2022-10-05 03:28:40",
}
>>> bname::find(25)->delete()
=> true
>>> bname::find(25)
=> null