我已經做了一個相當徹底的搜索這個錯誤,雖然我發現了很多關於'確保你傳遞數組或SQL查詢',我想我可能需要更多的CodeIgniter庫更具體的幫助。CodeIgniter:PHP錯誤:在Table.php foreach()中無效的參數:第198行
我有一個視圖,只是應該創建一個查詢(或數組)並生成一個表。
(最終,查詢會從模型發生和表生成將是我的一個功能,所以我可以在其他視圖重新使用它,但我開始接觸僅僅是基本的回聲屏幕)
視圖被設置爲這樣:
<div class="span4 well well-small">
<h4>Requests:</h4>
<?php
$this->table->set_heading('ID', 'Request', 'User', 'Date');
$query = array('id'=>'123', 'request'=>'FARTS', 'user'=>'Steve', 'date'=>'Today'); //$this->db->select('user_id', 'password', 'user_name', 'company_id')->from('users');
echo $this->table->generate($query);
?>
<h4>In this div:</h4>
<p>we will display some information about recent requests. It will show a small table with Request ID, Request Name, and Date Requested headers.</p>
</div>
打印帶有4 PHP錯誤盒子一個盒子說:
一個PHP錯誤遇到
嚴重性:警告
消息:的foreach()
文件名提供參數無效:庫/ Table.php
行號:198
當我在Table.php檢查線198庫,它需要一個數組(關聯或不關聯)或來自數據庫的查詢。我試圖傳遞一個非關聯數組,一個關聯數組和一個數據庫查詢,所有這些都會產生相同的錯誤。
而且,所以你不必去通過CI翻閱,這裏是引發錯誤的功能:
function _prep_args($args)
{
// If there is no $args[0], skip this and treat as an associative array
// This can happen if there is only a single key, for example this is passed to table->generate
// array(array('foo'=>'bar'))
if (isset($args[0]) AND (count($args) == 1 && is_array($args[0])))
{
// args sent as indexed array
if (! isset($args[0]['data']))
{
foreach ($args[0] as $key => $val)
{
if (is_array($val) && isset($val['data']))
{
$args[$key] = $val;
}
else
{
$args[$key] = array('data' => $val);
}
}
}
}
else
{
foreach ($args as $key => $val)
{
if (! is_array($val))
{
$args[$key] = array('data' => $val);
}
}
}
return $args;
}
這樣做。謝謝。我現在看到它。我沒有通過數組,只是一個數組。 $ this-> table-> addrow();是我的下一步。我只是爲了簡單而使用虛擬陣列。我很感激。 – Patrick