CakePHP 是一個提供動態程式設計行為的開源框架。此外,CakePHP 提供了可包含的行為,這有助於過濾操作並允許我們限制模型。換句話說,我們可以說,根據我們的要求,我們可以將資料庫減少為兩種模式的磨損。此外,CakePHP包含實作後,應用程式的整體效能將會提高。此外,透過使用CakePHP容器,我們在軟體實作過程中實現了精簡和綁定,這有助於提高應用程式的效能。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
可控制的行為。這種典型的行為可讓您引導和限制模型追蹤任務。利用 Containable 將幫助您消除資料集上不必要的里程,並加快應用程式的整體執行速度。此外,課程將幫助您完美且可預測地為您的客戶搜尋和引導資訊。
Containable 可讓您平滑並改進模型領帶的處理流程。它的工作原理是短暫或永久修改模型的關係。它透過利用提供的控制項來產生一系列的 bindModel 和 unbindModel 呼叫來實現此目的。然而,由於 Containable 改變了現有的聯繫,它不允許你透過遙遠的聯繫來限制結果。相反,您應該提及連接表。
讓我們看看如何在 CakePHP 中使用 contains 方法。
CakePHP 3.0 中的基本查詢與 CakePHP 2.0 中使用的基本查詢不同。在 3.0 中,用於資訊庫管理相關任務的 ORM(物件社會規劃)發生了變化。例如,如果「Emp」是一個模型,並且我們需要使用查詢製造商引入部分字段,則問題將如下所示:
$results=$emp->find() where(['id >'=>1]) toArray();
說明
使用上面的查詢,我們將找到所有id大於或等於1的記錄。我們使用下面的截圖來說明上述實現的最終結果。
現在讓我們來看另一個例子,如下。
我們採用這個模型怎麼樣?有兩個表,例如“Dept”和“Emp”,有很多連接。如果我們想要引入與 Emp 相關的部門數據,那麼,此時,我們就可以使用 CakePHP 的「包含」技術。在Form 3.0中,我們完全掌控了相關模型。詢問詳情如下:
$results=$emp->find() contain(['Emp', Dept]) where(['id >'=>1]) toArray();
說明
在上面的例子中,我們嘗試實作如圖所示的 contains 方法;在這裡,我們連接兩個不同的結果並將結果放入一個表中。我們透過下面的截圖來說明上面的實作。
這樣,我們就可以實現包含方法,也可以根據需要添加更多方法,例如昇序、降序,或者有時我們需要過濾與另一個表關聯的記錄這個時候我們也可以使用contain方法。
現在讓我們看看如何在 CakePHP 中使用 find 語句,如下所示。
如前所述,模型層的工作之一是從不同的能力獲取資訊。 CakePHP 模型類別附帶一些功能,可協助您找到此資訊、對其進行排序、對其進行分頁和引導。您將在模型中使用的最廣泛認可的工作是 model:find()
文法
find (string $specified type = 'specified type', array $params = array())
說明
使用上面的語法,我們可以實作find語句; Find 是所有模型資訊復原功能的多功能主力。 $type 可以是“all”、“first”、“count”、“list”、“neighbors”或“strung”,或您可以描述的任何自訂定位器。請記住,$type 區分大小寫。使用大寫字元(例如 all)不會達到預期的結果。
$params 用於將所有邊界傳遞給不同類型的 find() 並具有附帶的可能的鍵,當然,這些鍵都是任意的:
現在讓我們來看看以下不同的尋找方法。
Find(first)
如果我們需要列印第一個結果或當時說出單一結果,可以使用此方法。
文法
find('first', $All parameter)
說明
在上面的語法中,我們先使用find方法;另外,我們需要傳遞所有參數。
範例
$result = $this -> Emp-> find('first');
Explanation
After executing the above statement, it returns the single record from the Emp table; the implementation of the above statement is illustrated by using the following screenshot.
find(count)
It is used to return the integer value as per our requirement.
Syntax
find('count', $All parameter)
Explanation
In the above syntax, we use the find method with the count method, and also here, we need to pass all parameters.
Example
$result = $this -> Emp-> find('count');
Explanation
We illustrated the final result of the above statement using the following screenshot.
find('all')
It is used to return a variety of different possible outcomes. Indeed, it is the component utilized by all find ( ) variations and paginates.
Syntax
find ('all', $All parameter) find('list')
It is used to return an ordered cluster, helpful for any spot where you would need a rundown, for example, for populating input select boxes.
Syntax
find ('list', $All parameter) find('threaded')
It is used to return a settled cluster and is fitting to utilize the parent_id field of your model information to fabricate settled outcomes.
Syntax
find ('threaded', $All parameter)
So in this way, we can implement the find statement as per our requirement; we can also write the above statement inside the function, depending on the requirement.
We hope from this article you learn more about CakePHP contain. From the above article, we have taken in the essential idea of the CakePHP contain, and we also see the representation and example of the CakePHP contain. Furthermore, we learned how and when we use the CakePHP contained in this article.
以上是CakePHP 包含的詳細內容。更多資訊請關注PHP中文網其他相關文章!