1、創(chuàng)建模型
php artisan make:model? Models\User
2、根據(jù)數(shù)據(jù)庫的表創(chuàng)建模型
那就是:laravel-model-generator,github 地址:https://github.com/ignasbernotas/laravel-model-generator;操作步驟:
第一步,命令行進(jìn)入項目的根目錄,輸入命令:
composer require ignasbernotas/laravel-model-generator
第二步,在 app/Providers/AppServiceProvider.php 文件的 register 方法里面,加入如下代碼:
public function register()
{
????????if ($this->app->environment() == 'local')
????????{
????????????????$this->app->register('Iber\Generator\ModelGeneratorProvider');
????????}
}
第三步,輸入命令:
php artisan make:models
大功告成,看看 app/Models 文件夾下面是不是多了很多模型文件?
2、創(chuàng)建模型同時創(chuàng)建migration
php artisan make:model Models\User? ?-m? ? ? ?
?//使用控制臺輸入命令,創(chuàng)建模型,加上 -m就是同時創(chuàng)建Migration
php artisan migrate
//在Migration配置好數(shù)據(jù)表字段后,輸入該命令,保存數(shù)據(jù)表
3、代碼創(chuàng)建模型
<?php
namespace? App\Models;
use? Illuminate\Database\Eloquent\Model;
class? TestModel? ?extends? ?Model
{
????????protected? $table ='test_model';
????????public? $guarded = [];
//假如要使用模型的create()方法創(chuàng)建數(shù)據(jù),則必須顯示聲明$guarded字段值為空數(shù)組
????????public? $timestamps=false;
//如果這個模型的數(shù)據(jù)表中沒有created_at和updated_at字段,則必須將$timestamps值顯示聲明為false
}
4、模型對數(shù)據(jù)庫的操作
public function orm()
{
??//查詢表的所有記錄
????????? $user = Admin::all();
? ????????dd($user);
??//查詢某一條記錄
? ????????$user = Admin::find(2);
? ????????dd($user);
??//findOrFail() 根據(jù)主鍵查找,如果沒有找到就拋出異常
? ????????$user = Admin::findOrFail(1);
? ????????dd($user);
??//查詢所有記錄
? ????????$user = Admin::get();
? ????????dd($user);
??//增加條件查詢
? ????????$user = Admin::where('uid','>=',4)->orderBy('uid','desc')->first();
??//分段查詢
?????????Admin::chunk(2,function($user){
? ?????????var_dump($user);
});
??//聚合函數(shù)
??//獲取記錄的條數(shù)
? ????????$count = Admin::count();
? ????????dd($count);
??//獲取最大值
? ????????$max = Admin::where('uid','>=',5)->max('age');
??//使用模型新增數(shù)據(jù)
? ????????$user = new Admin();
?????????$user-> username = 'haha';
?????????$bool = $user->save();
?????????dd($bool);
??//獲取時間
? ????????$user = Admin::find(1);
?????????echo date('Y-m-d H:i:s',$user->create_at);
??//使用模型的Create方法新增數(shù)據(jù)
? ????????$user = Admin::create(['username'=>'meimei']);
? ????????dd($user);
??//以屬性查找用戶,如果沒有則新增
? ????????$user = Admin::firstOrCreate(['username'=>'imooc']);
? ????????dd($user);
??//以屬性查找用戶,如果沒有則新增,但不保存到數(shù)據(jù)庫
? ????????$user = Admin::firstOrNew(['username'=>'imooc']);
? ????????dd($user);
??//通過模型更新數(shù)據(jù)
? ????????$user = Admin::find(1);
?????????$user->username = 'jack';
? ????????$bool = $user->save();
? ????????dd($bool);
??//增加條件
? ????????$num = Admin::where('id','>','1')->update(['age'=>21]);
? ????????dd($num);
??//通過模型刪除
? ????????$user = Admin::find(6);
? ????????$bool = $user->delete();
? ????????dd($bool);
??//通過主鍵刪除
? ????????$num = Admin::destroy(6);
? ????????dd($num);
??//刪除多條記錄
? ????????$num = Admin::destroy(1,2,3);
? ????????$num = Admin::destroy([1,2,3]);
? ????????dd($num);
??//增加條件的刪除操作
? ????????$num = Admin::where('uid','>','4')->delete();
? ????????dd($num);
}