Ciao In realtà credo di aver risolto , solo che non sò se è la via corretta, sui tutorial che ho visto la facevano più semplice .
questa la struttura del db
–
– Struttura della tabella CONCORRENTI
–
CREATE TABLE CONCORRENTI
(
id
int(4) NOT NULL,
ID_AZIENDA
int(3) NOT NULL,
CONCORRENTE
varchar(40) NOT NULL,
ID_AGENTE
int(3) NOT NULL,
COMMENTO
varchar(1000) DEFAULT NULL,
NOTE
varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
–
– Indici per le tabelle scaricate
–
–
– Indici per le tabelle AGENTI
–
ALTER TABLE AGENTI
ADD PRIMARY KEY (id
);
–
– Indici per le tabelle CONCORRENTI
–
ALTER TABLE CONCORRENTI
ADD PRIMARY KEY (id
),
ADD KEY ID_AZIENDA
(ID_AZIENDA
),
ADD KEY ID_AGENTE
(ID_AGENTE
);
–
– AUTO_INCREMENT per le tabelle scaricate
–
–
– AUTO_INCREMENT per la tabella AGENTI
–
ALTER TABLE AGENTI
MODIFY id
int(3) NOT NULL AUTO_INCREMENT;
–
– AUTO_INCREMENT per la tabella CONCORRENTI
–
ALTER TABLE CONCORRENTI
MODIFY id
int(4) NOT NULL AUTO_INCREMENT;
–
– Limiti per le tabelle scaricate
–
–
– Limiti per la tabella CONCORRENTI
–
ALTER TABLE CONCORRENTI
ADD CONSTRAINT FK_AGENTI_CONCORRENTI
FOREIGN KEY (ID_AGENTE
) REFERENCES AGENTI
(id
),
ADD CONSTRAINT FK_AZIENDA_CONCORRENTI
FOREIGN KEY (ID_AZIENDA
) REFERENCES AZIENDA
(ID_AZIENDA
);
queste le modifiche su concorrentisearch.php
in pratica sulla funzione search ho sostituito la search di default :
public function search($params)
{
//$query = CONCORRENTI::find();
//$query = Employee::find()->leftJoin('team','employee.team_id=team.id')->with('Team');
$query = CONCORRENTI::find()->leftJoin('AGENTI','CONCORRENTI.ID_AGENTE=AGENTI.id')->with('iDAGENTE');
// print_r($query)
questa la funzione che ho aggiunto a concorrenti.php
public function getEmployeeTypeName() {
// print_r($this);
return $this->iDAGENTE->AGENTE_NOME." ".$this->iDAGENTE->AGENTE_COGNOME;
//return $this->employeeType->name;
}
e questo il richiamo sulla index.php sotto la view di concorrenti
<?php Pjax::begin(); ?> <?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'ID_AZIENDA',
'CONCORRENTE',
'EmployeeTypeName',
'COMMENTO',
//'AGENTI.AGENTE_COGNOME',
// 'NOTE',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
secondo te è corretto o c’è un via più semplice ?
grazie per la tua disponibilità