我剛剛學習Laravel 4,我不確定Eloquent模型的工作原理。我很清楚,它們是一種與數據庫交互的好方法,但是我可以在擴展Eloquent的類上定義構造函數和函數,以便將其用於數據庫交互而不僅僅是用於數據庫交互?我可以使用Eloquent模型作爲全功能課程嗎?
1
A
回答
1
是的!一個擴展Eloquent的類不會使它成爲僅用於雄辯目的的類。你已經意識到了類擴展的概念。類擴展可以簡單地將特徵添加到另一個現有類的任何類中。在這種情況下雄辯。
你可以採取你已經擁有的任何模型,並且明天決定你想使用它與雄辯,並簡單地擴展它。你原來的班級仍然是你原來的班級,工作原理是一樣的。如果父母擁有同名的東西,那麼原始類中的任何方法或屬性都會覆蓋父類(Eloquent)。
實際上,在一個擴展Eloquent的類中創建其他方法是創建強大模型的真正方法,它可以做各種各樣的酷東西。例如,我在用戶模型中創建方法,計算出生日之前的多少天。而不是將生日欄拉到控制器中,然後使用PHP來進行計算,我只是有一個像User :: daysUntilBirthday()這樣的方法。
如果您使用構造函數並擴展Eloquent,請確保仍然觸發Eloquent的構造函數。
class MyModel extends Eloquent {
public function __construct($attributes = array(), $exists = false)
{
parent::__construct($attributes, $exists); // This will fire off Eloquent's constructor.
// Your construct code.
}
}
相關問題
- 1. 程序員可以去SAP課程的功能模塊嗎?
- 2. 我可以使用Apple Reachability課程製作「付費應用」嗎?
- 3. 我可以使用C++作爲Windows Phone 8的全功能開發語言嗎?
- 4. 我可以安全地使用rest&wcf作爲後端網站功能嗎?
- 5. 我可以使用非順序ID作爲回送模型嗎?
- 6. 我們可以使用MemberFunction類型作爲模板參數嗎?
- 7. 我可以使用WCF接口作爲MVVM模型嗎?
- 8. 我可以發送課程作爲額外的意圖嗎?
- 9. 我可以使用atk4模型嗎?
- 10. 我們可以刪除ES6課程嗎?
- 11. 我可以加入課程列表嗎?
- 12. 我可以使用Node.js中的所有Javascript功能/功能嗎
- 13. 我可以使用MVC將功能編碼到視圖模型中嗎?
- 14. 我可以僅使用HTML5製作此功能嗎?
- 15. 我可以使用反射類型作爲類型參數嗎?
- 16. 使用HEX作爲BCD功能可以嗎?
- 17. 我可以使用泛型方法作爲一種模板模式嗎?
- 18. 我們可以使用枚舉作爲類型安全實體ID嗎?
- 19. Arangodb:我可以從用戶功能調用用戶功能嗎?
- 20. 我可以使用MenuStrip作爲ContextMenu嗎?
- 21. 我可以使用MongoDB作爲localstorage嗎?
- 22. 我可以使用$ _SESSION作爲memcache嗎?
- 23. 我可以使用Redmine作爲BPM嗎?
- 24. 我可以使用「PaymentMethodCreditCard」作爲paymentMethod嗎?
- 25. 我可以使用lua_tointeger()作爲off_t嗎?
- 26. 爲什麼我可以使用從模板功能
- 27. 我可以在CakePHP的行爲中使用特定模型嗎?
- 28. 我可以使用Prefetch_related預取多個模型嗎?爲了
- 29. 我可以安全使用dequed tableView單元格作爲原型
- 30. 我們可以創建名稱爲「class」的課程嗎?
那麼爲什麼我不能播種我的數據庫,如果我有一個構造函數定義我的雄辯模型?我會在數據庫中獲得一行,但沒有任何內容。 – vikingsfan19