laravel模型

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);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容