gpt4 book ai didi

CakePHP 3 实体混淆

转载 作者:行者123 更新时间:2023-12-02 18:34:20 25 4
gpt4 key购买 nike

这是我开始学习 CakePHP 3 以来一直面临的问题

实体的概念是什么,现实世界的例子会有很大帮助。

public function add()
{
// why do we have to create new entity / what is the role of entity here.
$comment = $this->Comments->newEntity();

if ($this->request->is('post','put')) {

// why do we have to use this line after posting / what is the role of this line.

$comment = $this->Comments->patchEntity($comment,$this->request->data);

if ($this->Comments->save($comment)) {
$this->Flash->success('comment submitted successfully.');
} else {
$this->Flash->error('Sorry, comment could not be updated.');
}
}

return $this->redirect($this->referer());
}

最佳答案

让我打开the book为您服务:

While Table Objects represent and provide access to a collection of objects, entities represent individual rows or domain objects in your application. Entities contain persistent properties and methods to manipulate and access the data they contain.

-

why do we have to create new entity / what is the role of entity here.

Cake3 中的几乎所有内容(如果不是全部)都可以与实体一起使用,上面解释了实体是什么。您需要创建一个新实体,以便 FormHelper 可以使用它,AFAIR 如果配置为这样做,它仍然可以使用数组,但应该使用该实体。

实体存在的原因是为了抽象数据。有些人认为实体是数据库行的表示 - 这是错误的。正如书中所说,它们可以是一行,但不必代表一行,因为 3.0 ORM 也可以与其他资源一起工作。理论上,您可以拥有每行返回一个实体的 CSV 数据源。

我建议您阅读 CakePHP 核心中的实体代码,以更深入地了解其他实体提供的内容,只是说它们“只是”一组属性是很简短的想法。

why do we have to use this line after posting / what is the role of this line.

发布数据被合并到之前创建的实体中,就是这样。如果您有类似的基本问题,请使用 API。 See the API entry for patchEntity() .

关于CakePHP 3 实体混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28603826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com