Yii Framework Forum: estrarre dati in tabelle con relazione - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

estrarre dati in tabelle con relazione Rate Topic: -----

#1 User is offline   ciccio paolo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 19-November 16

Posted 19 November 2016 - 06:39 PM

Ciao A tutti

sono veramente alle prime armi con yii e sto impazzendo per fare una cosa semplicissima , sono riuscito creare la parte di inserimento con una dropdown con valori presi da altra tabella . ma non riesco a visualizzare sulla index view ecc. il valore selezionato , mi restituisce sempre l'id selezionato .
Mi sembra di aver letto in giro che YII vuole la prima colonna delle tabelle sempre nominata con ID può essere quello ?

Grazie a tutti
Frank
0

#2 User is offline   Nicola 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 321
  • Joined: 13-March 11
  • Location:Italy

Posted 25 November 2016 - 12:15 PM

Mostra il codice incriminato :)
0

#3 User is offline   ciccio paolo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 19-November 16

Posted 25 November 2016 - 01:04 PM

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à
0

#4 User is offline   Nicola 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 321
  • Joined: 13-March 11
  • Location:Italy

Posted 29 November 2016 - 07:17 AM

In effetti mi sembra un po' una complicazione ma dipende poi che altro deve fare quest'applicazione.

Qui ci sono un po' di esempi

http://www.yiiframew...idview-yii-2-0/
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users