Soy nuevo en yii, y estoy utilizando un gridview para mostrar los datos, todo va bien hasta que uso las sentencias join, mi codigo es el siguiente
public function search($params)
{
$query= new \yii\db\Query();
$query->select(['negocio.nombre','negocio.sitioweb','usuario.nombre'])->from('negocio')->join('INNER JOIN','usuario','negocio.usuario_id=usuario.id');
//($query= Negocio::findBySql('SELECT (negocio.nombre),(usuario.nombre) FROM negocio INNER JOIN usuario On negocio.usuario_id=usuario.id');
// add conditions that should always apply here
//Hacer con un dataprovider!!!
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
if (!$this->validate()) {
// uncomment the following line if you do not want to return any records when validation fails
// $query->where('0=1');
return $dataProvider;
}
// grid filtering conditions
$query->andFilterWhere([
'id' => $this->id,
'usuario_id' => $this->usuario_id,
'updated_at' => $this->updated_at,
'provincia_id' => $this->provincia_id,
'categoria_id' => $this->categoria_id,
'factura_id' => $this->factura_id,
]);
$query->andFilterWhere(['like', 'nombre', $this->nombre])
->andFilterWhere(['like', 'sitioweb', $this->sitioweb])
->andFilterWhere(['like', 'created_at', $this->created_at])
->andFilterWhere(['like', 'actividad', $this->actividad])
->andFilterWhere(['like', 'logo', $this->logo])
->andFilterWhere(['like', 'email', $this->email])
->andFilterWhere(['like', 'ciudad', $this->ciudad])
->andFilterWhere(['like', 'telefono', $this->telefono])
->andFilterWhere(['like', 'latitud', $this->latitud])
->andFilterWhere(['like', 'longitud', $this->longitud])
->andFilterWhere(['like', 'palclaves', $this->palclaves])
->andFilterWhere(['like', 'direccion', $this->direccion])
->andFilterWhere(['like', 'numloupper', $this->numloupper])
->andFilterWhere(['like', 'portada', $this->portada])
->andFilterWhere(['like', 'archivologo', $this->archivologo]);
return $dataProvider;
}
el problema es que, realicé el crud con gii, y el gridview solo me trae los datos del modelo y la tabla especificada, que es "Negocio", cuando agrego una columna al gridview especificando los datos de la otra tabla, algo como "usuario.nombre", no me lo reconoce, a demas de que los encabezados pierden la funcionalidad de ordenarse tanto ascendente como descendente mente,¿como podria realizar esta consulta en el grid, y luego que se pueda ver en el detalview?