【问题标题】:retrieve single record with kohana 3.3 with request->param() is NULL使用 kohana 3.3 检索单个记录,其中 request->param() 为 NULL
【发布时间】:2014-05-17 14:30:04
【问题描述】:

我尝试使用 kohana 框架,但是当我尝试从我的数据库表中检索单个记录时,我遇到了一个小问题。 我的桌子:

ads
 id_ads
 title_ads
 description_ads

我的控制器:

public function action_single()
{
    $ads_id = $this->request->param('id_ads');
    $ads = ORM::factory('ads', $ads_id);

    $view = new View('ads/single');  // load the view/ads/single.php
    $view->set('ads', $ads);        // set 'ads' object to view

    $this->template->set('content', $view);
}

我的看法

<h2><?php echo $ads->title_ads; ?></h2>
<pre><?php echo $ads->description_ads; ?></pre>

当我转到 localhost/kohana/index.php/ads/single/1 浏览器什么也没显示,问题出在哪里?

【问题讨论】:

  • 我假设已经设置了正确的路由?您是否看到 HTML 并且它没有填充预期值?你检查错误日志了吗?
  • 我的路由设置是 Route::set('default', '((/(/)))') ->defaults(array( 'controller' => '广告', '动作' => '索引', )); html 什么也不说,错误日志也...
  • 抱歉,信息太少,无法诊断问题。一个起点可能是您请求id_ads,但在控制器中将其设置为id。但是,这并不能解释空白站点。请确保已启用错误报告,并且除了接收记录之外的一切都按预期工作。
  • 如何启用它?我是 kohana 的新手

标签: database request kohana record


【解决方案1】:

试试这个:

$ads_id = $this->request->param('id_ads');
$ads =ORM::factory('ads'->find($ads_id);

$ads_id = $this->request->param('id_ads');
$ads =ORM::factory('ads')->where("id","=",$ads_id)->find();

我认为传递参数更好(更容易)扩展 Controller_Template 这样:

class Controller_News extends Controller_Template{
...
   public function action_single()
   {
     ...
     $view->ads=$ads;
     $this->template->content = $view;
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多