我使用的是cakephp CakePHP-orm的独立子项目'cakephp-ORM‘。
我在文档中找不到在文件系统中定义表和实体的位置。
它解释了如何创建表,但没有说明将表保存到何处。然后会在自动加载时调用表吗?还是必须自己要求/包含它们?Documentation chapter
提前感谢!
发布于 2018-08-22 20:26:34
根据https://book.cakephp.org/3.0/en/orm.html的说法,你所要做的就是从Cake\ORM\Table
扩展你的表,只要表是自动加载(即来自composer包)或手动加载(即通过include),它就应该被TableRegistry
识别。
也就是说,这个简单的示例php文件使用cake-orm
作为唯一的composer依赖项(我的示例手动加载自定义模型):
<?php
include('vendor/autoload.php');
include 'App/Models/Table/ExamplesTable.php';
use Cake\Datasource\ConnectionManager;
use Cake\ORM\TableRegistry;
ConnectionManager::setConfig('default', [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'database' => 'cakephpormtest',
'username' => 'root',
'password' => '',
'cacheMetadata' => false,
'quoteIdentifiers' => false,
]);
// Now $examples is an array of Cake\ORM\Entity instances.
$examples = TableRegistry::getTableLocator()->get('Examples')->query()->toArray();
var_dump($examples);
我不期望独立库告诉你应该在哪里存储你的文件,所以我认为最好的答案是:把你的表格模型放在你想要的地方。如何构建项目结构和加载类由您决定。在执行此操作时,我仍然会参考编程中的全局最佳实践,但仅此而已:)
https://stackoverflow.com/questions/51966314
复制相似问题