使用cakephp创建optgroup
我是cakephp的新手,在这方面我有一些困难: 从以下sql查询开始:使用cakephp创建optgroup,php,cakephp,Php,Cakephp,我是cakephp的新手,在这方面我有一些困难: 从以下sql查询开始: select service_group.name as service_group_name, service_group.id as service_group_id, campaign.name as campaign_name, campaign.id as campaign_id from group_service join group_service_campaign
select service_group.name as service_group_name, service_group.id as service_group_id, campaign.name as campaign_name, campaign.id as campaign_id
from group_service
join group_service_campaign on group.service.id = group_service_campaign.group_service_id
join campaign on group_service_campaign.campaign_id = campaign.id
where campaign.active = 'Y'
and campaign.id in ($in)
and campaign.company_id = ${_SESSION['companyId']}
order by group_service.name, campaign.name
我在控制器中将其转换为:
$var_campaign = $this->loadModel('Service_Group');
$var_campaign = $this->Group_Service->find('list', ['keyfield' => 'campaign_id', 'valueField' => 'campaign_name', 'groupField' => 'service_group_name'])
->join(['table' => 'service_group_campaign',
'type' => 'inner',
'conditions' => 'Service_Group.id = service_group_campaign.service_group_id'
])
->join(['table' => 'campaign',
'type' => 'inner',
'conditions' => 'service_group_campaign.campaign_id = campaign.id'
]);
$var_campaign->where(['campaign.active' => 'Y']);
$var_campaign->order(['grou_service.name,campaign.name']);
我的难点是如何使用它创建带有optgroup的select表单元素。
我一直在寻找类似的例子和问题,但我所做的一切都不起作用
我的看法是:
echo $this->Form->create();
echo $this->Form->input('id', array('label' => 'Services :', 'type' => 'select', 'empty'=> '-- Select --', 'options' => $var_campaign));
echo $this->Form->select("field", $var_campanha);
echo $this->Form->end();
当我在查询语句中使用find('list'…)时,我会得到一个空白的响应,如果我使用find('all'…),我会得到一个不完整的响应,因为所有的活动名称都不会响应,只有带有id的服务组名称
My optgroup显示纯文本,如:
{“id”:-1,“名称”:“现行提案”,“国防部”:“W”,“公司id”:10}
等等
我错在哪里
提前谢谢