0

cakephp 3中的黑白 get 或 find 有什么区别。为什么我们在cakephp 3中使用 get 或 find 。

4

3 回答 3

1

当您使用find()方法时,您可以根据需要传递条件,以便在从数据库源过滤后检索数据。find('first')find('all')->first()行为相同。

get($id)仅对表的主键字段应用条件。这意味着仅由于主键的条件而为一条记录提供结果。

使用get()方法时,如果从 db 源中找不到记录,则 CakePHP 会抛出 NOT Found Exception。所以这在给出响应为 NOT FOUND - 404 时非常有用,例如个人资料页面、博客详细信息页面..等

于 2016-11-11T07:36:28.890 回答
0

您可以调用find()构造 Query 对象并返回它的表实例,并且您可以继续链接其他方法,例如where(),并且 Query 对象是惰性的,除非您调用,,,->select() 否则不会被执行,更多解释在这里https://book。 cakephp.org/3.0/en/orm/query-builder.htmlall()toArray()first()firstOrFail()

get($primaryKey, $options = [])如果找到将返回记录,如果没有记录则抛出未找到异常,它在内部构造查询和调用firstOrFail()

于 2017-01-18T08:32:19.113 回答
0

Get通常用于通过主键获取单个实体。

$this->Models->get($id);//here $id is your tables primary key

找到 我们精细的数据。

$this->Models->find('all');//get all the data 

$this->Models->find('all')->first(); //get the first row 

它可用于查找所有数据以及第一个数据。这里我们也可以放条件

点击此链接了解更多信息

http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html

于 2016-10-05T12:01:37.850 回答