"get"メソッドと "find"メソッドを使用して2つの異なるポイントでデータベースからレコードを取得しています。問題は、私が "get"、 "first"または "last"を使用しているときに、隠しフィールドが表示されない(ok)が、私が "find"を使用しているときにはまだそこにあるということです。隠しフィールドはまだcakephpのデータベースからリストされています3
<?php
//My Plugin in /plugins/Comunica/Files/src/Model/Entity/File.php
namespace Comunica\Files\Model\Entity;
use Cake\ORM\Entity;
class File extends Entity
{
protected $_hidden = ['password'];
protected $_virtual = ['protected'];
protected function _getProtected(){
return empty($this->_properties['protected']) ? false : true;
}
}
コール方法:再び
<?php
$this->Files->find()->toArray();
。 1つのレコード(最初、最後、呼び出し)を呼び出すのは正しいですが、メソッド "find"で試してみると間違っています。どのようにこれを解決するか知っていますか?
では、隠しフィールドと仮想フィールドを混在させています。トピックには隠れフィールドがあります。その可能性のある解決策を投稿しましたが、問題が仮想フィールドにも関係しているかどうかはわかりません。 –