Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orm 在CakePHP 3控制器中保存相关数据_Orm_Entity_Cakephp 3.0 - Fatal编程技术网

Orm 在CakePHP 3控制器中保存相关数据

Orm 在CakePHP 3控制器中保存相关数据,orm,entity,cakephp-3.0,Orm,Entity,Cakephp 3.0,文档中明确指出,相关数据可以按如下方式保存: use App\Model\Entity\Article; use App\Model\Entity\User; $article = new Article(['title' => 'First post']); $article->user = new User(['id' => 1, 'username' => 'mark']); $articles = TableRegistry::get('Articles');

文档中明确指出,相关数据可以按如下方式保存:

use App\Model\Entity\Article;
use App\Model\Entity\User;

$article = new Article(['title' => 'First post']);
$article->user = new User(['id' => 1, 'username' => 'mark']);

$articles = TableRegistry::get('Articles');
$articles->save($article);
我在代码中尝试了此操作,但出现错误:

致命错误 错误:找不到类“App\Controller\TableRegistry”
文件/Users/mtkocak/Sites/gscrm/src/Controller/BusinessesController.php 电话号码:62

这是我的控制器代码。我怀疑上述代码是否适用于实体模型

    public function add() {
    $business = $this->Businesses->newEntity($this->request->data);
    $record = new Record($this->request->data['Records']);

    $address = new Address($this->request->data['Addresses']);
    $telephone = new Telephone($this->request->data['Telephones']);
    $email = new Email($this->request->data['Emails']);

    $record->business = $business;
    $record->address = $address;
    $record->email = $email;

    if ($this->request->is('post')) {
        var_dump($this->request->data['Records']);
        $records = TableRegistry::get('Records');
        $records->save($record);
        // if ($this->Businesses->save($business)) {
        //     $this->Flash->success('The business has been saved.');
        //     return $this->redirect(['action' => 'index']);
        // } else {
        //     $this->Flash->error('The business could not be saved. Please, try again.');
        // }
    }
    $telephonetypes = $this->Businesses->Records->Telephones->Telephonetypes->find('list');
    $records = $this->Businesses->Records->find('list');
    $businesstypes = $this->Businesses->Businesstypes->find('list');
    $this->set(compact('telephonetypes','business', 'records', 'businesstypes'));
}
以下是表的sql转储:

    CREATE TABLE IF NOT EXISTS `businesses` (
    `id` int(10) unsigned NOT NULL,
  `record_id` int(10) unsigned DEFAULT NULL,
  `businesstype_id` int(10) unsigned DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=1 ;

ALTER TABLE `businesses`
 ADD PRIMARY KEY (`id`), ADD KEY `FK_businesses_records` (`record_id`), ADD KEY `FK_businesses_businesstypes` (`businesstype_id`);

非常感谢您的帮助。

您缺少一条
use
语句。本书中的所有这些示例都认为您从一开始就阅读了tables部分,并利用了:

use Cake\ORM\TableRegistry;
另外,当遵循命名约定时,您不必手动构建实体

我有“use”语句,但仍然收到错误。看见