problemas con relaciones,Trying to get property of non-object

Hola :), estoy mostrando los datos en un detalview de dos tablas que tengo relacionados, he utilizado el gestor de crud’s de gii y he creado el modelo de las dos tablas, cuando intento a acceder a las propiedades del usuario por medio de la relacion, es decir


 public function getUsuario()

    {

        return $this->hasOne(Usuario::className(), ['id' => 'usuario_id']);

    }

para este caso $model->usuario->nombre;

todo esta bien, he incluso puedo acceder a todos los demas atributos de esa tabla sin problemas, con el id que se relacionó. pero cuando utilizo otra tabla, como esta por ejemplo


 public function getPlanNegocios()

    {

        return $this->hasMany(PlanNegocio::className(), ['negocio_id' => 'id']);

    }

Me lanza el error cuando intento acceder a sus atributos

$model->planNegocios->fechainicio, he respetado la notacion camelcase pero no se cual puede ser el error, quizas algun problema en las relaciones?

La primera relación es de tipo hasone, es decir conocido el id_usuario hay un unico usuario relacionado. Por ello accedes a todos los datos.

En la segunda la relación es de tipo hasmany, es decir uno a muchos, por tanto $model->planNegocios->fechainicio no es posible…

$model->planNegocios devuelve un array de modelos, aquellos que cumplen la relación, con un foreach y recorre los objetos mostrando lo que quieras.

saludos

+1 al comentario de rahif.

Como complemento, para acceder a la fecha de inicio del primer elemento del array:




$model->planNegocios[0]->fechainicio



Si los quieres recorrer todos, pues dentro de un bucle.

Un saludo.