首页 > 后端开发 > php教程 > CakePHP 包含

CakePHP 包含

王林
发布: 2024-08-29 12:58:27
原创
942 人浏览过

CakePHP 是一个提供动态编程行为的开源框架。此外,CakePHP 提供了可包含的行为,这有助于过滤操作并允许我们限制模型。换句话说,我们可以说,根据我们的要求,我们可以将数据库减少为两种模式的磨损。此外,CakePHP包含实现后,应用程序的整体性能将会得到提高。此外,通过使用CakePHP容器,我们在软件实现过程中实现了精简和绑定,这有助于提高应用程序的性能。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

CakePHP 包含什么?

可控制的行为。这种典型的行为允许您引导和限制模型追踪任务。利用 Containable 将帮助您消除数据集上不必要的里程,加快应用程序的总体执行速度。此外,该课程将帮助您完美且可预测地为您的客户搜索和引导信息。
Containable 使您能够平滑和改进模型领带的处理过程。它的工作原理是短暂或永久修改模型的关系。它通过利用提供的控件来生成一系列的 bindModel 和 unbindModel 调用来实现此目的。然而,由于 Containable 改变了现有的联系,它不允许你通过遥远的联系来限制结果。相反,您应该提及连接表。

如何使用CakePHP contains方法?

让我们看看如何在 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方法,也可以根据需要添加更多的方法,比如升序、降序,或者有时我们需要过滤与另一个表关联的记录这个时候我们也可以使用contain方法。

CakePHP 包含一个 find 语句

现在让我们看看如何在 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.

Conclusion

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中文网其他相关文章!

相关标签:
php
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板