我有一個問題創建關係(外鍵)MI模型(表)之間,我跟着蛋糕文檔,但無法正常工作關係(外鍵)CakePHP的
的關係是馬卡報1-N Modelos
模型Marca.php
<?php
class Marca extends AppModel
{
var $name = 'Marca';
public $displayField = 'nombre';
var $hasMany = array(
'Modelo' => array(
'className' => 'Modelo',
'foreignKey' => 'marca_id'
)
);
}
?>
模型Modelo.php
<?php
class Modelo extends AppModel
{
var $name = 'Modelo';
var $belongsTo = array(
'Marca' => array(
'className' => 'Marca',
'foreignKey' => 'marca_id'
)
);
}
?>
ModelosContro米勒
<?php
class ModelosController extends AppController{
var $name = 'Modelos';
var $helpers = array('Html','Form');
//var $scaffold;
function index(){
$modelos = $this->Modelo->find('all',array(
'fields'=>array(
'Modelo.nombre',
'Modelo.valido',
'Modelo.id',
'Modelo.marca_id'),
'order'=>'Modelo.nombre ASC')
);
$this->set('modelos',$modelos);
}
function add(){
if (!empty($this->data)){
$this->Modelo->create();
if ($this->Modelo->save($this->data)){
$this->Session->SetFlash('Modelo Nuevo Creado');
$this->redirect(array('action'=>'index'),null,true);
}else{
$this->Session->SetFlash('No se ha Agregado el Modelo, intente de Nuevo');
}
}
// $this->loadModel('Marca');
$marcas = $this->Modelo->Marca->find('list'); <<-----this is 31 line, where is the error
debug($marcas);
$this->set(compact('marcas'));
}
function edit($id = null){
if (!$id){
$this->Session->SetFlash('Modelo Incorrecto');
$this->redirect(array('action'=>'index'),null,true);
}
if (empty($this->data)){
$this->data = $this->Modelo->find('first',array('conditions'=>array('Modelo.id'=> $id)));
}else{
if ($this->Modelo->save($this->data)) {
$this->Session->SetFlash('El Modelo se ha Guardado');
$this->redirect(array('action'=>'index'),null,true);
}else{
$this->Session->SetFlash('La Modelo No fue Guardado, intente de Nuevo');
}
}
}
}
?>
錯誤拋出是:
錯誤:調用一個成員函數查找()一個非對象 文件:/var/www/tlfmovil/app/Controller/ModelosController.php
Line:31
我認爲錯誤是因爲關係設置不正確,請幫助我。
對不起,我的英語不好!
不使用英語進行命名的問題是,由於複數的處理方式不同,因此常規會變得無法使用。嘗試在你的Marca模型中設置'public $ useTable ='marcas';'。 – Nunser 2013-04-23 15:05:57
@nuns - 出現錯誤並不是因爲缺少表格,而是因爲沒有找到模型,因爲某些關聯不起作用。 – Dave 2013-04-23 15:20:57
檢查是否實際使用'Modelo'模型,並且CakePHP不生成'通用'模型; '調試(get_class($ this-> Modelo));' – thaJeztah 2013-04-23 22:22:20