y(仅在本例中,我将该类重命名为SomethingsTable)。我刚刚在github中为此提交了一个bug报告:因此,我的结论是:如果cakephp的table->get()找不到自定义实体类,它将自动返回到Cake\ORM\entity…是的,实际上我

y(仅在本例中,我将该类重命名为SomethingsTable)。我刚刚在github中为此提交了一个bug报告:因此,我的结论是:如果cakephp的table->get()找不到自定义实体类,它将自动返回到Cake\ORM\entity…是的,实际上我,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,y(仅在本例中,我将该类重命名为SomethingsTable)。我刚刚在github中为此提交了一个bug报告:因此,我的结论是:如果cakephp的table->get()找不到自定义实体类,它将自动返回到Cake\ORM\entity…是的,实际上我认为这是一个特性。如果db表没有特殊行为,则不必创建表和实体对象,cake将使用默认的表和实体对象。 namespace App\Model\Entity; use Cake\ORM\Entity; class Something exte


y(仅在本例中,我将该类重命名为SomethingsTable)。我刚刚在github中为此提交了一个bug报告:因此,我的结论是:如果cakephp的table->get()找不到自定义实体类,它将自动返回到Cake\ORM\entity…是的,实际上我认为这是一个特性。如果db表没有特殊行为,则不必创建表和实体对象,cake将使用默认的表和实体对象。
namespace App\Model\Entity;

use Cake\ORM\Entity;

class Something extends Entity {
    public function isFoo() {
        return true;
    }
}
namespace App\Model\Table;

use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;
use Cake\ORM\TableRegistry;
use App\Model\Entity\Something;   // produces an `unused import' warning

class SomethingsTable extends Table
{
    public function initialize(array $config)
    {
        parent::initialize($config);
        ...
    }

    ...
}
class SomeOtherController extends AppController {
    ...
    $this->loadModel('Somethings');
    $thing = $this->SomethingsTable->get($id);
    if ($thing->isFoo()) { ... }
    ...
}
Error: Call to undefined method Cake\ORM\Entity::isFoo() 
<?= var_dump($thing,true); ?>
$thing = $this->Somethings->get($id);

// not 
$thing = $this->SomethingsTable->get($id);
class SomeOtherController extends AppController {
    $this->loadModel('Somethings');
    $thing = $this->SomethingsTable->get($id); // <-- Here
    if ($thing->isFoo()) { ... }
}
$this->loadModel('Somethings');
$thing = $this->Somethings->get($id);
if ($thing->isFoo()) { }
Configure::write('debug', true); // If you are not already in debug mode
$this->loadModel('Somethings');
debug($this->Somethings);
object(App\Model\Table\SomethingsTable) {

    'registryAlias' => 'Somethings',
    'table' => 'somethings',
    'alias' => 'Somethings',
    'entityClass' => 'App\Model\Entity\Something', // Good!
    'associations' => [],
    'behaviors' => [],
    'defaultConnection' => 'default',
    'connectionName' => 'default'

}