sql >> Base de Datos >  >> RDS >> Mysql

Mensaje:count ():el parámetro debe ser una matriz o un objeto que implemente Codeigniter contable en centos

El problema en su pregunta es, como veo, que está tratando de contar un objeto que no es una matriz o que no se puede contar.

Pensamientos

  1. En todo tu código no has escrito el count() que parece estar causando el problema, ¿por qué?
  2. ¿Por qué necesita contar $q->row(); cuando estás limitando el resultado a 1 tú mismo // as you said the problem is here $row = $q->row();

Posible solución

Cuando usa row() es decir, $q->row(); obtienes un no- objeto contable ,

// row() dummy data
stdClass Object
(
    [id] => 15
    [event_id] => 3
    [event_image] => c1fa8a5d5505047251fd928aa312b16c.jpg
)

pero cuando usas result() es decir, $q->result(); , resultará en una matriz de objetos o en el caso de result_array() , una matriz de matrices, incluso si las limita a una.

// 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
        )

)

Ambos son ahora una matriz y, por lo tanto, contables.

Espero que te ayude.