目錄
1. 基本用法:創建一個簡單模型
2. 創建模型並附帶遷移文件
3. 指定自定義模型路徑
4. 使用模型時的一些常見設置
首頁 php框架 Laravel 如何定義雄辯的模型? (PHP Artisan Make:模型)

如何定義雄辯的模型? (PHP Artisan Make:模型)

Jun 19, 2025 am 12:30 AM

在Laravel 中定義一個Eloquent 模型最直接的方式是使用Artisan 命令php artisan make:model,該命令可快速生成模型類並關聯對應數據表。 1. 運行php artisan make:model Post 可創建模型文件,默認保存在app/Models 目錄下(需確認目錄存在及命名空間正確)。 2. 使用-mf 參數可同時生成模型、遷移文件和模型工廠,便於從零構建完整結構。 3. 若模型路徑自定義為app/Models/Blog/Post.php,可通過php artisan make:model Models/Blog/Post 指定路徑生成,並註意更新相關引用的命名空間。 4. 在模型中可設置$table 指定數據表名,$timestamps 控制時間戳字段,$fillable 或$guarded 定義批量賦值規則,從而適配不同業務需求。

在Laravel 中定義一個Eloquent 模型,最直接的方式是使用php artisan make:model 。這個命令可以幫助你快速生成模型類,節省手動創建的時間,並且默認會關聯到對應的數據庫表。


1. 基本用法:創建一個簡單模型

運行以下命令可以創建一個模型:

 php artisan make:model Post

這會在app/Models目錄下生成一個名為Post.php的文件(如果你的模型目錄不在Models 下,Laravel 默認是在app/Models ,但默認Laravel 使用的是app/Model ,注意大小寫)。

注意:如果目錄不存在,你需要先創建Models 文件夾,並在App\Models命名空間下使用模型,同時記得在控制器中引入。


2. 創建模型並附帶遷移文件

如果你希望同時生成數據庫遷移文件,可以加上-mf或者--migration --factory參數:

 php artisan make:model Post -mf

這條命令會做三件事:

  • 創建模型類
  • 創建數據庫database/migrations migrations )
  • 創建模型工廠(用於測試數據填充)

這樣你可以從零開始搭建一個完整的數據模型結構,非常適合新建模塊時使用。


3. 指定自定義模型路徑

如果你的模型不是放在默認的app/Models路徑下,比如你想組織成app/Models/Blog/Post.php ,可以這樣做:

 php artisan make:model Models/Blog/Post

執行完後,Artisan 會自動幫你創建目錄結構,並設置好命名空間。

小提示:記得在config/auth.php或其他引用模型的地方更新正確的命名空間路徑,否則可能會報找不到類。


4. 使用模型時的一些常見設置

Eloquent 模型默認會根據類名複數形式去查找對應的數據表,例如Post對應posts表。如果你的表名不同,可以在模型里手動指定:

 protected $table = 'my_posts';

另外,如果你不需要時間戳字段(created_at 和updated_at),也可以關閉它們:

 public $timestamps = false;

還可以定義哪些字段允許批量賦值:

 protected $fillable = ['title', 'content'];

或者反過來,定義哪些字段不能被批量賦值:

 protected $guarded = ['id'];

基本上就這些。使用php artisan make:model可以快速構建基礎模型結構,再結合一些配置就能讓它很好地配合你的業務邏輯工作了。

以上是如何定義雄辯的模型? (PHP Artisan Make:模型)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1540
276
Laravel中的配置緩存是什麼? Laravel中的配置緩存是什麼? Jul 27, 2025 am 03:54 AM

Laravel的配置緩存通過合併所有配置文件為一個緩存文件來提升性能。在生產環境中啟用配置緩存可減少每次請求時的I/O操作和文件解析,從而加快配置加載速度;1.應在部署應用、配置穩定且無需頻繁更改時啟用;2.啟用後修改配置需重新運行phpartisanconfig:cache才會生效;3.避免在配置文件中使用依賴運行時條件的動態邏輯或閉包;4.排查問題時應先清除緩存、檢查.env變量並重新緩存。

使用翻譯員立面在Laravel中進行定位。 使用翻譯員立面在Laravel中進行定位。 Jul 21, 2025 am 01:06 AM

thetranslatorfacadeinlaravelisused forlocalization byfetchingTranslatingStringSandSwitchingLanguagesAtruntime.Touseit,storetranslationslationstringsinlanguagefilesunderthelangderthelangdirectory(例如,ES,ES,FR),thenretreiveTreivEthemvialang :: thenretRievEtheMvialang :: get()

如何在Laravel測試中模擬對象? 如何在Laravel測試中模擬對象? Jul 27, 2025 am 03:13 AM

UseMockeryforcustomdependenciesbysettingexpectationswithshouldReceive().2.UseLaravel’sfake()methodforfacadeslikeMail,Queue,andHttptopreventrealinteractions.3.Replacecontainer-boundserviceswith$this->mock()forcleanersyntax.4.UseHttp::fake()withURLp

解釋Laravel雄辯的範圍。 解釋Laravel雄辯的範圍。 Jul 26, 2025 am 07:22 AM

Laravel的EloquentScopes是封裝常用查詢邏輯的工具,分為本地作用域和全局作用域。 1.本地作用域以scope開頭的方法定義,需顯式調用,如Post::published();2.全局作用域自動應用於所有查詢,常用於軟刪除或多租戶系統,需實現Scope接口並在模型中註冊;3.作用域可帶參數,如按年份或月份篩選文章,調用時傳入對應參數;4.使用時注意命名規範、鍊式調用、臨時禁用及組合擴展,提升代碼清晰度與復用性。

如何運行Laravel項目? 如何運行Laravel項目? Jul 28, 2025 am 04:28 AM

checkphp> = 8.1,作曲家和韋伯佛; 2.cleteproeateprojectandruncomposerinstall; 3.copy.env.exampleto.envandrunphpartisankey :生成; 4.setDatabasecredentialsin.envandrunphpartisanmigrate-seed; 5.StartServerServerWithPhpartisanServe; 6.optionallyrunnnpmins

如何在Laravel中實施推薦系統? 如何在Laravel中實施推薦系統? Aug 02, 2025 am 06:55 AM

創建referrals表記錄推薦關係,包含推薦人、被推薦人、推薦碼及使用時間;2.在User模型中定義belongsToMany和hasMany關係以管理推薦數據;3.用戶註冊時生成唯一推薦碼(可通過模型事件實現);4.註冊時通過查詢參數捕獲推薦碼,驗證後建立推薦關係並防止自薦;5.當被推薦用戶完成指定行為(如下單)時觸發獎勵機制;6.生成可分享的推薦鏈接,可使用Laravel簽名URL增強安全性;7.在儀表板展示推薦統計信息,如總推薦數和已轉化數;必須確保數據庫約束、會話或Cookie持久化、

如何在Laravel中創建輔助文件? 如何在Laravel中創建輔助文件? Jul 26, 2025 am 08:58 AM

Createahelpers.phpfileinapp/HelperswithcustomfunctionslikeformatPrice,isActiveRoute,andisAdmin.2.Addthefiletothe"files"sectionofcomposer.jsonunderautoload.3.Runcomposerdump-autoloadtomakethefunctionsgloballyavailable.4.Usethehelperfunctions

如何在Laravel應用中實現功能標誌? 如何在Laravel應用中實現功能標誌? Jul 30, 2025 am 01:45 AM

Chooseafeatureflagstrategysuchasconfig-based,database-driven,orthird-partytoolslikeFlagsmith.2.Setupadatabase-drivensystembycreatingamigrationforafeature_flagstablewithname,enabled,andrulesfields,thenrunthemigration.3.CreateaFeatureFlagmodelwithfilla

See all articles