CakePHP:与模型关联的限制字段
作者:互联网
我的CakePHP模型不需要检索某些数据库表中的几个字段.有什么方法可以设置要在模型级别获取的默认字段集?例如,我从第三方设计的数据库中检索一些数据,该数据库每个表有50个字段,我使用5.
我知道我可以在find()查询时以及在模型之间进行任何关联时对字段设置限制,但是我想知道是否存在模型级方法.
解决方法:
CakePHP并未提供您在模型级别描述的内容.也就是说,每个find()都没有defaultFields的Model属性.
如您所述,您可以通过设置fields属性在关联级别上指定它.但是,仅当您通过这些关系之一检索模型时,这才起作用.
最后,您将在find()中进行设置.您可以通过向模型中添加属性来最大程度地减少重复自己:
var $defaultFields = array('Model.field1', 'Model.field2', ...);
然后在您的find()中:
$this->Model->find('fields' => $this->Model->defaultFields, ...);
这有明显的局限性,但至少提供了一些封装,因此具有灵活性.
注意:更具侵入性的方法可以使用beforeFind();
.在这种情况下,您无需调整每个find().但是您的里程可能会因使用情况而异.
标签:cakephp-appmodel,sql-limit,cakephp,php 来源: https://codeday.me/bug/20191208/2088101.html