Я хочу создать объект класса внутри цикла, но я не могу понять, что я делаю неправильно. Это моя функция выбора.Создайте объект внутри цикла
public function admin_select_all ($table, $rows = '*', $where = null, $order = null)
{
if(empty($table))
{
return false;
}
$q = 'SELECT '.$rows.' FROM '.$table;
if($where != null)
$q .= ' WHERE '.$where;
if($order != null)
$q .= ' ORDER BY '.$order;
if($this->admin_tableExists($table))
{
$stmt = $this->admin_connection->prepare($q);
$stmt->execute();
$results = $stmt->fetchAll();
if((!$results) or (empty($results))) {
return false;
}
return $results;
}
}
Это конструктор класса admin_element
public function __construct($itemId)
{
global $db_operate;
$info = $db_operate->admin_select_all ("my_table" ,"id=".$itemId);
$this->id = $info[0]['id'];
$this->title = $info[0]['title'];
$this->seoUrl = $info[0]['seo_url'];
$this->parentId = $info[0]['parent_id'];
$this->isMenuItem = $info[0]['menu_item'];
$this->order = $info[0]['menu_order'];
$this->htmlId = $info[0]['anchor_unique_html_id'];
}
// Это функция внутри admin_element, где я хочу, чтобы создать объект внутри цикла для
public static function getRootItems()
{
global $db_operate;
$parents = $db_operate->admin_select_all ("my_table");
$listOfItems = array();
for($i=0;$i<count($parents);$i++)
{
$listOfItems[$i] = new admin_element($parents[$i]['id']);
}
//var_dump($listOfItems);
return $listOfItems;
}
}
Теперь, когда я создаю объект с этим, тогда я получаю ошибку undefined id в конструкторе, и когда я var_dump массив, тогда я получаю ошибку равной полному размеру $ parent, который является моим возвращенным массивом. Я не знаю, что я делаю неправильно. Я также пробовал его с помощью foreach, но до сих пор не добился успеха.
// С Еогеаспом я попробовать, но не в состоянии создать и объект
foreach($parents as $row) {
$listOfItems[] = array(
'id' => $row['id']
);
}
Вот когда я var_dump массива $ LISTOFITEMS, то он работает хорошо, но когда я пытаюсь создать экземпляр объекта, то он также не пожалуйста Некоторая помощь. Если этот вопрос задан, прежде чем я приношу свои извинения.
'$ д = 'WHERE' $, где,' Вы не знаете, [Маленький Booby Drop Table] (https://xkcd.com/327/)? –
Я знаю, что проверить параметр функции $ where is from there –
У вас есть синтаксическая ошибка с 'id =". $ ItemId' в '$ info = $ db-> select (" my_table ", id =". $ itemId); ' – Sean