Integrare CouchDB in Yii


(kdesantis) #1

Salve, ho realizzato una tabella in MySQL contente gli attributi presenti in un documento di CouchDB. Ho fatto generare le GRUD da Gii ed in questo modo riesco ad ottenere la tabella con tutti gli attributi richiesti. Se volessi riempire la stessa tabella con i dati però ottenuti da una chiamata GET a CouchDB che mi restituisce un JSON contente un’array con all’interno un array con tutti i dati del documento, come potrei fare? credo di dover cambiare il metodo search della classe model DataSearch, in particolar modo dovrei riuscire ad inserire i dati nella variabile $query o $dataProvider presumo ma non riesco a capire che come sia strutturato il dato di ritorno $dataProvider. Avete qualche soluzione?

allego il codice che secondo me dovrei andare a sostituire
// funzione
public function search($params)
{
$query = Users::find();

    // add conditions that should always apply here

    $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(['like', '_id', $this->_id])
        ->andFilterWhere(['like', 'rev', $this->pass]);

    return $dataProvider;
}

ps: non ho trovato il modo per incorporare il codice in uno spoiler, scusate

(Mariodipatria) #2

Non devi cambiare il metodo search… Se è una “chiamata GET” allora ti basta creare un’action nel controller, effettuare una Request Http verso couchdb, processarla, decodificare il Json restituito, ciclare la matrice decodificata e mentre la cicli istanzi nuovo model per inserimento, salvi.
Spero solo di aver capito se è ciò di cui hai bisogno.