cakephp网址没有检索数据

时间:2012-08-08 04:47:12

标签: sql cakephp

大家好,当点击我页面上的链接时,在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);

出现问题

3 个答案:

答案 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);


}

它没有传递参数的值