1. 程式人生 > >Laravel資料庫操作 Eloquent ORM

Laravel資料庫操作 Eloquent ORM

模型
首先在App目錄下建立student的資料夾 裡面放上 Student.php 且需要繼承基類Model
//允許批量賦值的欄位
// protected $fillable = ['name','age'];
//不允許批量賦值的欄位
// protected $guarded = ['name','age'];

//自動維護時間戳
public $timestamps = true;

控制器
Route::any('orm1','[email protected]');//ORM查詢
public function orm1()
{
//查詢全部 All()
// $student = Student::All();
//查詢單個ID find()
// $student = Student::find(11);
//findOrFail() 根據主鍵查詢如果沒查到就報錯
// $student = Student::findOrFail(11);
//get()獲取所有資料
// $student = Student::get()->toArray();
//whereRaw()複合條件查詢
// 查詢年齡為18且名字為gwz的一條欄位 $student = Student::whereRaw('name = ? and age = ?',['gwz',18])->first()->toArray();

}
Route::any('orm2','[email protected]');//ORM增加
//ORM增加
public function orm2()
{
//新增屬性與值
// $student = new Student();
// $student->name = 'guowe2nzheng';
// $student->age = '223';
// $bloon = $student->save();
// dd($bloon);

// 查詢主鍵id為$id的時間戳
// $student = Student::find(18);
// echo $student->created_at;

// 新增
// $student = Student::insert(
// ['name'=>'nbsp','age'=>18]
// );
// dd($student);


// firstOrCreate()
//firstOrCreate() 如果有則查出這個屬性 如果沒有 則增加這個屬性 需要用的 Model中的protected $fillable = ['name'];
// $student = Student::firstOrCreate([
// 'name'=>'gwz12321'
// ]);
// dd($student);

//firstOrNew() 如果有則查 沒有則建立例項 需要用的 Model中的protected $fillable = ['name'];
// $student = Student::firstOrNew([
// 'name'=>'123'
// ]);
// $student->save();
// dd($student);
}
Route::any('orm3','

[email protected]');//ORM修改
//ORM修改
public function orm3()
{
// $student = Student::find(22);//查出模型
// $student->name = 'kituy';//賦值屬性
// $student->save();//執行修改
// $num = Student::where('id',22)->update(['age'=>31]);//修改id為22的 age 欄位
// var_dump($num);
}
Route::any('orm4','[email protected]');//ORM刪除
//ORM刪除
public function orm4()
{
// $student = Student::find(22);//查出要刪除的模型
// $student->delete();//執行刪除方法


// $num = Student::destroy(20,19);//直接刪除主鍵id的當前記錄返回影響行數


// Student::where('id',18)->delete();//刪除id為18的記錄

}