我有一个控制器用于发票,另一个控制器用于客户。
我在这些控制器的模型中做了一些“关系”,如下所示:
客户端.php
<?php
class Client extends AppModel {
public $hasMany = array(
'Invoice' => array(
'className' => 'Invoice',
'foreignKey' => 'client_id'
)
);
}
?>
发票.php
<?php
class Invoice extends AppModel {
public $belongsTo = array(
'Client' => array(
'className' => 'Client',
'foreignKey' => 'client_id'
)
);
}
?>
所以我认为与每个客户进行下拉会很容易。虽然,我无法弄清楚如何做到这一点。
首先这是我想要的结果:
<select>
<option value="1">Client Name</option>
</select>
其中值等于客户端表中的 id,客户端名称等于客户端表中的名称。
我尝试将以下内容放入发票控制器中:
$client = $this->Client->find('all');
然后我认为以下内容:
echo $this->Form->select('client_name',client, array(
'class' => 'form-control',
'name' => 'client_id'
));
但我收到以下错误:
Call to a member function find() on a non-object
直接在页面加载。我需要做什么才能完成这项工作?