Laravelデータベース操作
6349 ワード
Laravelデータベース操作
接続データベース:Envファイル内の構成
1 DB facadeオリジナルを使用してCURDを実現する:
新しいコントローラを作成します.php:
routesでphpにはコントローラ/メソッド(StudentControl/index)にバインドされています.
routes.php:
2クエリーコンストラクタによるCURDの実装
以前のルーティングは変更されませんでした
StudentController.php:
3 Eloquent ORM操作データベース
使用モデル:student.php:
コントローラphp:
クエリーデータ:
新規データ:
PS:saveメソッドで保存するとcreate_がないというメッセージが表示されます.atとupdate_at 2つのフィールド、この2つはデータ作成時間と修正時間で、自動的に修正され、使用したくない場合はモデルで修正できます.
Student.php:
PS:createメソッドを使用してデータを追加するには、モデルにどのフィールドを一括追加できるかを指定する必要があります.
Student.php:
データの変更:
データの削除:
接続データベース:Envファイル内の構成
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=12345678
1 DB facadeオリジナルを使用してCURDを実現する:
新しいコントローラを作成します.php:
?",[3]);
}
}
routesでphpにはコントローラ/メソッド(StudentControl/index)にバインドされています.
routes.php:
Route::get('student',['uses'=>'StudentController@index']);
2クエリーコンストラクタによるCURDの実装
以前のルーティングは変更されませんでした
StudentController.php:
public function index(){
// bool
DB::table('user')->insert(['username'=>' ','password'=>sha1('123456')]);
// bool
DB::table('user')->insert([
['username'=>' ','password'=>sha1('123456')],
['username'=>' ','password'=>sha1('123456')]
]);
// id
DB::table('user')->insertGetId(['username'=>' ','password'=>sha1('123456')]);
//
DB::table('user')->where('id',1)->update(['username'=>' ']);
// 1
DB::table('user')->where('id',1)->increment('age',2);
//
DB::table('user')->where('id',1)->decrement('age',1);
//
DB::table('user')->where('id',1)->decrement('age',1,['username'=>' ']);
//
DB::table('user')->where('id','>',16)->delete();
DB::table('user')->truncate(); // ,
//
// get():
// first():
// where():
// pluck():
// lists():
// select():
// chunk():
dump(DB::table('user')->get()); //
dump(DB::table('user')->first()); //
dump(DB::table('user')->where('id','=',1)->get());
dump(DB::table('user')->whereRaw('id = ? and username = ?',[1,' '])->get());
//
dump(DB::table('user')->pluck('username')); //
dump(DB::table('user')->lists('username','id')); //
dump(DB::table('user')->select('id','username')->get());
//
DB::table('user')->chunk(2,function($student){
dump($student); //
});
//
$max = DB::table('user')->max('age');
$min = DB::table('user')->min('age');
$avg = DB::table('user')->avg('age');
$sum = DB::table('user')->sum('age');
$count = DB::table('user')->count();
}
3 Eloquent ORM操作データベース
使用モデル:student.php:
コントローラphp:
クエリーデータ:
新規データ:
username = ' ';
$student->password = sha1('123456');
$student->age = 21;
$student->save(); //
// create
Student::create(
['username'=>' ','password'=>sha1('123456'),'age'=>22]
);
// firstOrCreate
// dump(Student::firstOrCreate(['username'=>' ']));
// firstOrNew
$student = Student::firstOrNew(
['username'=>' ']
);
$student->save(); // // bool
}
}
PS:saveメソッドで保存するとcreate_がないというメッセージが表示されます.atとupdate_at 2つのフィールド、この2つはデータ作成時間と修正時間で、自動的に修正され、使用したくない場合はモデルで修正できます.
Student.php:
// creat_at update_at
public $timestamps = true; // false
//
protected function getDateFormat(){
return time();
}
//
protected function asDateTime($val){
return $val;
}
PS:createメソッドを使用してデータを追加するには、モデルにどのフィールドを一括追加できるかを指定する必要があります.
Student.php:
//
protected $fillable = ['username','password','age'];
データの変更:
// // bool
$student = Student::find(1);
$student->username = 'admin';
$student->save();
//
Student::where('id','=',1)->update(
['username'=>' ']
);
データの削除:
//
// 1 bool
$student = Student::find(6);
$student->delete();
// 2
Student::destroy(4,5);
// 3
Student::where('id','>',7)->delete();