請求書用のコントローラーとクライアント用のコントローラーがあります。
以下のように、これらのコントローラーのモデルでいくつかの「関係」を作成しました。
クライアント.php
<?php
class Client extends AppModel {
public $hasMany = array(
'Invoice' => array(
'className' => 'Invoice',
'foreignKey' => 'client_id'
)
);
}
?>
Invoice.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
ページの読み込み時に直接。これを機能させるにはどうすればよいですか?