tinker是一個REPL (read-eval-print-loop),REPL是指交互式命令行界面,它可以讓你輸入一段程式碼去執行,並把執行結果直接打印到終端機上面去。
這樣就不用每次都使用route才能修改資料,透過tinker可以很快速的修改資料庫的資料。
新增一個今天要用的專案
composer create-project --prefer-dist laravel/laravel tinker_example
新增migrate
php artisan migrate
在終端機中輸入下面的指令
php artisan tinker
開啟成功後就可以在這邊下指令了
先來新增一個user,用$user把create的指令存起來,再去資料庫看就會多一筆記錄了
$user = App\User::create(['name'=>'oo','email'=>'oo@test.com','password'=>Hash::make('123456')]);
另一種新增方式也可以,新增成功後在打上變數$user確認是否有成功,只是記得做完記得加上save的方法,這樣才會存進資料庫。
$user = new App\User;
$user->name = 'test11';
$user->email = 'test11@test11.com';
$user->password = Hash::make('123456');
$user->save();
接著來講要怎麼找到特定資料,以下幾種方式都可以找到
$user = App\User::find(2);
$user = App\User::where('id',2)->first();
$user = App\User::whereId(2)->first();
先找到特定一筆資料,在這邊會找到User裡面id等於1的資料,接著就可以編輯這筆資料了。
$user = App\User::find(1);
//把name改成abc
$user->name = 'abc';
//修改完記得執行save()方法
$user->save();
第一步都是要先找到要修改的資料存進變數,並且對該變數做操作。
$user = App\User::find(1);
$user->delete();