Problem w Twoim pytaniu polega na tym, że próbujesz policzyć obiekt, który nie jest tablicą lub nie jest policzalny.
Myśli
- W całym kodzie nie napisałeś
count()
co wydaje się być przyczyną problemu, dlaczego? - Dlaczego musisz liczyć
$q->row();
gdy sam ograniczasz wynik do 1// as you said the problem is here $row = $q->row();
Możliwe rozwiązanie
Gdy używasz row()
tj. $q->row();
otrzymasz nie- policzalny obiekt
,
// row() dummy data
stdClass Object
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
ale kiedy używasz result()
tj. $q->result();
, spowoduje to powstanie tablicy obiektów lub w przypadku result_array()
, tablica tablic, nawet jeśli ograniczysz je do jednej.
// result() dummy data -- same as result_object()
(
[0] => stdClass Object
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
)
// result_array() dummy data
Array
(
[0] => Array
(
[id] => 15
[event_id] => 3
[event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)
)
Oba są teraz tablicą, a zatem są policzalne.
Mam nadzieję, że ci to pomoże.