1

db テーブルからレコードを取得するプラグインを作成しました。次に、レコードをページに表示したいと思います。タグを使用しようとしていますが、機能させることができません。どうやってやるの?
詳細は次のとおりです。

プラグイン

class Plugin_News extends Plugin  
{  
   function getNewsDetails()  
   {  
    $this->load->model('news/news_m');
    $result =   $this->news_m->getNews();

    return $this->attribute('result',$result);
   }       
} 

モデル

public function getNews()
{       
    $id =   isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;

    if($id > 0 )
    {
        $where  =   "WHERE id = $id"; 
    }else{
        $where  =   " ";
    }

    $sql_query  ="    SELECT 
                        id,
                        news_title , 
                        news_description ,
                    FROM default_news 
                    $where";
    $query  =   $this->db->query($sql_query);
    return  $query->row();
}

そして、これが私がそれを呼び出そうとしている方法です

{{ News:getNews }}  
<li><a href  = "http://localhost/lc/index.php/newsdetail?id={{ id }}">{{ news_title }}</a></li>
{{ /News:getNews }} 

そしてページnewsdetailsで単一のレコードを表示します

<tbody>
    <tr>
        <td>{{ News:getNewsDetails news_title}}  </td>
    </tr>
    <tr>
        <td>{{ News:getNewsDetails description }}</td>
    </tr>
</tbody>

機能していません。正しい構文を理解できず、ドキュメントに何も見つかりませんでした

4

2 に答える 2

1

ちょっとした調査の後、私はこの代替案を見つけました。
モデルではこれを返します

return  $query->result();

ただし、クエリは 1 に制限する必要があります

SELECT id,news_title , news_description ,FROM default_news $where limit 1

そして、ページで単にループを作成して物を表示します

{{ News:getNewsDetails}} 
<tbody>
    <tr>
        <td>{{ title }}</td>
    </tr>
    <tr>
        <td>{{ description }}</td>
    </tr>
</tbody>
{{ /News:getNewsDetails}} 

これが完璧ではないことはわかっていますが、これは私の要件に当てはまります。

于 2012-08-17T04:55:07.250 に答える
0

モデルをすばやく作成する方法

この行をモデルで使用できます

public function getNews()
{       
    $id =   isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;
    if($id > 0 )
    {
        $where  =   "id = $id"; 
    }else{
        $where  =   "";
    }
    return $this->db->select('id, news_title , news_description')
           ->from('news')->where($where)->get()->row();
}
于 2012-08-22T21:53:18.390 に答える