大家好,当点击我页面上的链接时,在id
页面上没有携带template
的{{1}},所以当sql查询数据库时,它正在查询
view
数据库说id应为= SELECT `Field`.`name`
FROM `pra`.`fields` AS `Field`
LEFT JOIN `pra`.`templates` AS `Template` ON (
`Field`.`template_id` = `Template`.`id`)
WHERE `template`.`id` IS NULL
这是视图函数的代码
2
更新代码,template_id仍然等于null
当硬编码正常时,此行$fields = $this->Field->find('all',
array('fields'=>array('name','template_id'),
'conditions' => array('template_id' => $this->Auth->user('template.id'))));
$this->set('field', $fields);
答案 0 :(得分:1)
您可以尝试使用以下代码:
$fields = $this->Field->find('all',
array('fields'=>array('name'),
'conditions' => array('Field.template_id' => $this->Auth->user('template_id'))
)
);
$this->set('field', $fields);
请确保当前登录用户必须有template_id
值。
请问它是否对你不起作用。
答案 1 :(得分:0)
通过find
:
debug
来电的结果
debug($fields);
这将显示查询返回的数据。您可以将其添加到操作方法的末尾。
如果结果为空,请仔细检查会话验证密钥中存储的值。您可以通过使用debug($_SESSION)
转出会话或使用CakePHP DebugKit来执行此操作。 Debug Kit为您提供了一个位于屏幕右上方的小工具栏,可让您查看会话信息等。
答案 2 :(得分:0)
function view($name){
$this->set('title_for_layout', 'Create Template');
$this->set('stylesheet_used', 'homestyle');
$this->set('image_used', 'eBOXLogoHome.jpg');
$this->layout='home_layout';
$fields = $this->Template->Field->find('list',array(
'fields'=> array('name'),
'conditions' => array(
'template_id'=> $name)));
$this->set('field', $fields);
}
它没有传递参数的值