2017-12-12 3 views
0

場合に基づいてデータを表示する:CodeIgniterの - これはコントローラである条件

function list_requests(){ 
    $data['requests'] = $this->mdl_request->show_requests(); 
$data['main_content'] = 'backend/requests/requests'; 
     $data['title'] = 'Requests'; 
     $this->load->view('includes/template', $data); 
    } 

これは私のモデルである:

function show_requests() 
    { 

     $this->db->order_by('created_time','asc'); 
     $this->db->group_by('orderid'); 
     $this->db->from('requests', 'items'); 
     $this->db->join('items', 'items.item_id = requests.item_id'); 
     if($user_id != '') 
      $this->db->where('created_by', $user_id); 
     $query = $this->db->get(); 
     return $query->result(); 
    } 

私はビュー

でこれを試してみました
<?php 
    if($request->is_approved == yes){ 
    foreach($requests as $request): 
    echo $request->request_name; 
    endforeach; 
    } 
?> 

これはエラーがを示している

A PHPのエラーが発生しました 重要度:注意 メッセージ:
未定義の変数:要求 ファイル名:要求/ requests.php
行番号:128
PHPエラーが発生しました
重大度:通知
メッセージ:非オブジェクトのプロパティを取得しようとしています
ファイル名:request S/requests.php
行番号:128

ので、どのように私は唯一の承認依頼を表示することができますか?私はモデルではなく、視野でそれを扱う必要があります。

+0

コントローラとモデルで質問を編集してください。 – user4419336

+0

しかし、私はビューでそれを処理する必要があります – turaco

+0

あなたのビューには、あなたの関数に読み込まれたビューがロードされて表示されません? – user4419336

答えて

1

この

<?php 

    foreach($requests as $request) { 
    if($request->is_approved == yes) { 
     echo $request->request_name; 
    } 
    }  

?> 
+0

こんにちは@turaco、それは動作していますか? – silent

0

を試してみて、これを試してみてください - テストを示します。これは、yesに対するテストの使用が 'yes'の文字列値であることを前提としています。上記の

<?php 
// Dummy Data for testing 
$requests = array(
    (object)(array('is_approved'=>'yes','request_name'=>'Fred')), 
    (object)(array('is_approved'=>'no','request_name'=>'Sam')), 
    ); 

// Does it look right? 
var_dump($requests); 

// The Code to test. 
foreach($requests as $request) { 
    if($request->is_approved == 'yes') { 
     echo $request->request_name; 
    } 
} 

出力は

if($request->is_approved == yes) 

はイエスと呼ばれる定数に対してis_approved $要求 - >を比較しようとしたのは...

array (size=2) 
    0 => 
    object(stdClass)[1] 
     public 'is_approved' => string 'yes' (length=3) 
     public 'request_name' => string 'Fred' (length=4) 
    1 => 
    object(stdClass)[2] 
     public 'is_approved' => string 'no' (length=2) 
     public 'request_name' => string 'Sam' (length=3) 
Fred 

この行です。

「yes」の値を持つ定数としてyesを定義していない場合は、フィールド名「is_approved」がvarchar/stringであることを基準にして、文字列 'yes' ...

if($request->is_approved == 'yes') 
関連する問題