Forums / National / Russian / Тех. поддержка / Uncaught Error: Unsupported operand types

Kopusha
#1 2020-11-18 16:09

Подскажите как правильно сделать, стал выводить projects циклом на index и ругается на такое:

В projects.list

switch($sort)
{
	case 'startdateasc':
		$order['startdate'] = 'item_startdate ASC';
		break;
	
	case 'offerscountasc':
		$order['offerscount'] = 'item_offerscount ASC';
		break;

	default:
		$order['startdate'] = 'item_startdate ASC';
		break;
}

$order = ($order) ? 'ORDER BY ' . implode(', ', $order) : '';

В плагине payprjtop

$ordertop['top'] = 'item_top DESC';

$order = $ordertop + $order;

Ругается на последнюю строчку, Uncaught Error: Unsupported operand types on line 14 And A non-numeric value encountered on line 14

Как верно сделать сортировку снячала по ordertop а затем по обычному списку? Все поля - цифры.

Added 5 minutes later:

Что примечательно - в самом projects.list запрос такого вида
 

WHERE item_state=0
	ORDER BY item_top DESC, item_startdate ASC

И это то что нужно в принципе, ругается ТОЛЬКО на index.

Added 11 minutes later:

Насколько я понимаю на index либо item_top либо item_startdate это non-numeric value... Оба поля - int(10)...

Added 10 minutes later:

Разобрался... 

В projects.index.php не хватало $order = array(); и иза за этого не ловило что такое $order['startdate'] = 'item_startdate ASC'; - просто пустоту выбивало. Щас все ок.

В оригинальном файле кстати не хватает тоже

https://github.com/Cmsworks/cot-freelance/blob/master/modules/projects/projects.index.php

This post was edited by Kopusha (2020-11-18 16:36, 3 years ago)