为了账号安全,请及时绑定邮箱和手机立即绑定

过滤实体 CakePHP 3.6 上的所有查找查询

过滤实体 CakePHP 3.6 上的所有查找查询

PHP
aluckdog 2022-01-02 18:08:36
假设我有一个文章数据库,我只想显示在网站上发布的文章(其中已发布 = 1)。而不是在每个查找查询中添加条件,如下所示:$articles = $this->Articles->find('all')->where(['published' => 1]);有没有一种方法可以在一个地方对整个应用程序中的所有查找查询自动应用此条件?如果是这样怎么办?
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您可以使用beforeFind. 这将在您的文章模型上的每个查找查询之前触发。这是文档


这是如何使用它


public function beforeFind($event, $query, $options, $primary)

{


    $query->where(['article.visible' => 1]);


    return $query;

}


查看完整回答
反对 回复 2022-01-02
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信