CTS*_*idt 3 php cakephp associations
我想我有一个安静的简单错误,但我无法解决它...我尝试关联两个表:
我的代码:
<?php
class KeywordsController extends AppController{
public function add(){
$projects = $this->Keyword->Project->find('list'); //***here is the error***
//pr($projects);
if ($this->request->is('post')) {
$this->Keyword->save($this->request->data);
$this->redirect('/keywords');
}
}
}
Run Code Online (Sandbox Code Playgroud)
<?php
class ProjectsController extends AppController{
public function add(){
if ($this->request->is('post')) {
$this->Project->save($this->request->data);
$this->redirect('/projects');
}
}
}
Run Code Online (Sandbox Code Playgroud)
<?php
class Project extends AppModel{
public $hasMany = 'Keyword';
}
Run Code Online (Sandbox Code Playgroud)
<?php
class Keyword extends AppModel{
public $belongsTo = 'Project';
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
错误:在非对象
文件上调用成员函数find():/Users/me/Localhost/cakephp/app/Controller/KeywordsController.php
行:7
在模型的类声明上方添加以下行.
App::uses('AppModel', 'Model');
Run Code Online (Sandbox Code Playgroud)
还定义name了类定义的属性.
public $name = 'Project';
public $name = 'Keyword';
Run Code Online (Sandbox Code Playgroud)
对于项目模型
<?php
App::uses('AppModel', 'Model');
class Project extends AppModel{
public $name = 'Project';
public $hasMany = 'Keyword';
}
Run Code Online (Sandbox Code Playgroud)
对于关键字模型
<?php
App::uses('AppModel', 'Model');
class Keyword extends AppModel{
public $name = 'Keyword';
public $belongsTo = 'Project';
}
Run Code Online (Sandbox Code Playgroud)
编辑
$this->loadModel('Project');
$projects = $this->Project->find('list');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11859 次 |
| 最近记录: |