最近我开始使用CakePHP,从使用Bake开始获得简单的CRUD。
我有一个名为" Contract"与"产品"相关联和"客户"如下。
public $belongsTo = array(
'Customer' => array(
'className' => 'Customer',
'foreignKey' => 'customer_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Product' => array(
'className' => 'Product',
'foreignKey' => 'product_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
现在我想通过不使用select box作为customer_id和product_id的输入表单来自定义Bake创建的添加视图(add.ctp)。而不是使用显示与外键关联的产品/客户的所有可能名称的选择框我想使用文本字段,以便人们可以从产品/客户表中键入其中一个字段(例如product_code,customer_code)和将其转换为外键,为Contract表创建一行。如果有可能从Customer / Product字段中找不到值,我想跳过向Contract表添加一行。
我想知道这是否可行。
谢谢,
答案 0 :(得分:0)
基本概念是:使用您选择的JS库,猜测它的jquery。观察文本字段中的更改,在更改时,将带有文本字段值的ajax GET请求发送到应用程序that returns json的控制器/操作。单击其中一个结果会将所选记录的ID设置为隐藏字段。完成。
如果你搜索谷歌或Stackoverflow,你会发现很多例子。